私は現在自分自身のログインスクリプトを構築しており、セッションIDやログアウトページと同様のものをget変数として追加していることに気付いています。なぜPHPログインスクリプトはGET IDを使ってログアウトするのですか?
なぜこれを行うのですか?
logout.phpのセッションを破棄してIDを渡すだけでは安全ではないですか?
私は現在自分自身のログインスクリプトを構築しており、セッションIDやログアウトページと同様のものをget変数として追加していることに気付いています。なぜPHPログインスクリプトはGET IDを使ってログアウトするのですか?
なぜこれを行うのですか?
logout.phpのセッションを破棄してIDを渡すだけでは安全ではないですか?
ログアウト時にのみget
パラメータを追加する必要がある理由は考えられません。
URLにトークンを追加すると、prevent abuseに、またはセッションIDをURLに追加してクライアント側でクッキーが消えたときにセッションが動作するようにすることができます。
更新
ただし、ファイルのクイックビューはかなり興味深い問題を示しています。それはログインして計算された署名がユーザに提示されてログインページに提出されることを要求する。 おそらく、これはCSRF保護の形式として行われました。 しかし、ユーザーにセッションを引き継ぐのに必要なデータもリークします。だから我々はこれまで、当社の第11回脆弱性に来る:
アップデート2
私はircmaxell in chatを求めてきました。そしてそれはCSRF保護のためです。
この男が見直している例があります: - http://blog.ircmaxell.com/2011/08/security-review -creating-secure-php.html –
@StephenAdrianRathbone彼は[チャット](http://chat.stackoverflow.com/rooms/11/php)でアイドリングしていますので、直接ソースに行かないでください:) – PeeHaa
あなたはログアウト時にのみ行っていると思いますか?ほとんどのサイトでは、get要求にsessidを追加して、Cookieを無効にした(または許可しない)場合にセッションが永続することを保証しています。 –
ログアウトページだけでなくすべてのページであれば、クロスサイトスクリプトの偽造リスクを軽減するための手段です。それについての詳細はこちら:http://en.wikipedia.org/wiki/Cross-site_request_forgery – Sahand