Posts Tagged ‘セッション’

ダイレクトアクセスの禁止

2010年1月9日 at 3:58 AM  Author: sged

 ふ~、寒いですな~。この時間になってくると、足元の冷えが身にしみる・・・
さて、テスト公開していますが、認証不通過してダイレクトにページを表示させた場合にエラーを表示させます。今まではリファラを取得して、それを比較チェックしていましたが、セキュリティ上好ましくないそうですね。リファラ偽造ができちゃうらしい・・・そこで、新憲法ランキングでは、一意な英数字を生成させて、それをセッション変数とGET送信とに分け、両者を各ページで比較させる方法をとりました。各々のページに入れば、その時点で一意な英数字は新たに生成しますので、ユーザーの推測は極めて困難だと思います。GETではなく、HTML の hidden で POST しても良かったんですが・・・GETの方が簡単かな?

  • $_SESSION["id"] = md5(uniqid(mt_rand(), true));
  • $url = “page.php?id=”;
  • $url .= “$_SESSION["id"]“;
  • アクセスするたびにページアドレスが変化するので、ワンタイムアドレスってな感じでしょうか。でも、ブラウザのリロード・戻るが使えませんが・・・リロード・戻るを使うと、一意な英数字がアンマッチとなりエラーが表示されます。う~ん、なかなか難しい・・・(笑)