[Symfony] HTTP通信を強制的にHTTPS通信に変えるプラグイン
2009年05月20日(水)08:36|谷口
谷口です。
ほとんどのWebシステムでは個人情報など保護すべき情報を通信する機会があると思います。ただ、「この通信は保護すべき」、「この通信は保護しなくても良い」と分けて設定しようとするとけっこう面倒だったりします。 そこで、SymfonyでSSL通信を簡単に設定できる方法はないかと探っていたところ、SymfonyのプラグインでHTTP通信を強制的にHTTPS通信に切り替えるプラグインがあり、アクション単位で設定できるため非常に便利だと感じましたので紹介します。 ※現在のところまだsymfony1.2には対応していないようです。
sfSslRequirementPlugin
Plugins | sfSslRequirementPlugin | 2.0.0 | symfony | Web PHP Framework 使い方は至って簡単です。
- インストール プラグインをインストールします。
- フィルター設定 Symfonyのフィルターとして機能するため、filters.ymlに使用を明記します。 ※filters.ymlはapps/***/config/にあります。***はアプリケーション名です。
- HTTPS通信を強制する設定 たとえば、apps = front, module = accountのloginアクションにSSLを強制したい場合、apps/front/modules/account/config/security.ymlに以下のように記述します。
> symfony plugin-install
http://plugins.symfony-project.com/sfSslRequirementPlugin
※画面の都合上改行していますが、改行しないで入力してください。
sfSslRequirement:
class: sfSslRequirementFilter
login:
require_ssl: true
これだけです。
※設定を変えたら、symfony ccを忘れずに!
個人的には標準で入っていても良いくらいなプラグインだと思います。