がるの健忘録 このページをアンテナに追加 RSSフィード

2008-01-17

[][]ssl接続か判定用

if ( (false === empty($_SERVER['HTTPS']))&&('off' !== $_SERVER['HTTPS']) ) {
  print "ssl\n";
} else {
  print "no ssl\n";
}

条件式が「一つ目でfalseだったら二つ目にいかずに処理終了」という暗黙の了解*1を利用したアバウトな判定。

よくSERVER_PORT使うのみるけど、別にSSLが443以外だめってわけでもないので。80番portがsslの可能性だってあるわけだし。


以上ひたすらにアバウトなメモ。

*1:たしかPHPはそゆのがあったような…Cとかだと駄目だよね

ZenZen 2008/01/18 00:18 こう書けばよかったのか・・・。
if (!isset($_SERVER[’HTTPS’])) {
って書いてしまいましたよ。
短絡的すぎたかな。。。

gallugallu 2008/01/18 01:24 PHP公式のマニュアルサイトの、この一文がなければ、おいらも同じ記述したと思うです。

http://www.php.net/manual/ja/reserved.variables.php#reserved.variables.server
>>
スクリプトが HTTPS プロトコルを通じて実行されている場合に 空でない値が設定されます。 ISAPI を IIS で使用している場合は、HTTPS プロトコルを通さないでリクエストが行われたときの値は off となることに注意しましょう。
<<
…やぱしIIS嫌いだ orz

多分多分 2009/01/14 12:10 どうでもいい突っ込みです。
既に突っ込まれていたらすいません。
http://ja.wikipedia.org/wiki/%E7%9F%AD%E7%B5%A1%E8%A9%95%E4%BE%A1

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gallu/20080117/p4