kunitsuji
tsuji****@m-s*****
2008年 10月 7日 (火) 14:48:04 JST
kunitsujiです。
>以前kunitsujiさんの拡張ライブラリを使ってCI内でのSSLを実装してみましたが、
>それ以外にも実装方法があるのをCIフォーラムのスレッドでみつけたのでここで
>まとめておきます。
やっぱり需要はあるんですよね。普通ありますよねぇw
>1. .htaccessなどapacheの設定をいじる方法
>2. ヘルパ関数を使う方法
1に関してのほうがパフォーマンスはいいんじゃないかなと勝手に想像。
その代りhtaccessあアパッチがいじれるのが条件となりますね。
>2. ヘルパ関数を使う方法
>このヘルパ関数をヘルパとして使える様にしておいたあと、httpsにしたいコントロー
>ラ内の
>コンストラクタや関数内でこれを呼んでbase_urlの内容を置き換えた後redirectして
>いますね。
>
>スレッドにあった例)
>
>if ( ! function_exists('force_ssl'))
>{
> function force_ssl()
> {
> $CI =& get_instance();
> $CI->config->config['base_url'] = str_replace('http://',
>'https://', $CI->config->config['base_url']);
> if ($_SERVER['SERVER_PORT'] != 443)
> {
> redirect($CI->uri->uri_string());
> }
> }
>}
>
>2. の方がコードをいじるだけなので、変更は楽なのでこっちの方を使ってみようかな
>と思っています。
確か自分のやったものでは、どのコントローラ、メソッドがSSLを必要としてい
るのかをCONFIGで設定することをベースに書いていたような気がします。
あと、1か所だけじゃなく、FORMヘルパーとかその他いろいろ対応したような気
が。