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ヘルパーとかその他いろいろ対応したような気 が。