やかんブログ

[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 使い方は至って簡単です。

  1. インストール
  2. プラグインをインストールします。
    
    > symfony plugin-install 
    
    http://plugins.symfony-project.com/sfSslRequirementPlugin
    
    
    ※画面の都合上改行していますが、改行しないで入力してください。
  3. フィルター設定
  4. Symfonyのフィルターとして機能するため、filters.ymlに使用を明記します。 ※filters.ymlはapps/***/config/にあります。***はアプリケーション名です。
    
       sfSslRequirement:
         class: sfSslRequirementFilter
    
  5. HTTPS通信を強制する設定
  6. たとえば、apps = front, module = accountのloginアクションにSSLを強制したい場合、apps/front/modules/account/config/security.ymlに以下のように記述します。
    
        login:
          require_ssl: true
    
    これだけです。

※設定を変えたら、symfony ccを忘れずに!

個人的には標準で入っていても良いくらいなプラグインだと思います。

この記事に関するお問い合わせはこちら

ページの先頭へ