クライアントにJS、サーバーにphpを持ち、サーバーでセッションを開き、「phpスクリプトで」アプリケーションを作成しています。 $_SESSION["uID"]
最初は、DBから取得して保存した一意のIDで各ユーザーを識別します。セッションは識別の問題を処理し、各ユーザー要求は独自のセッションで受信されるため、ユーザーセッションが別のユーザーセッションと競合することはないため、javascript から php にユーザーデータを送信する場合はこれで十分です。または別のテクニックを使用する必要がありますか?
ユーザーIDをjsからphpに送信する必要がありますか? またはphpで宣言するだけで十分ですか?
セッションIDなどを使用する必要がありますか?
4 に答える
js でユーザー ID を送信すると、アプリケーターが安全ではなくなります。誰でも何にでもなれる。セッションが Cookie によって設定されている場合は、そのセッションを php エンドで使用するだけで十分です。セッション ID はブラウザから Cookie によって自動的に送信されるため、js でセッション ID を送信する必要はありません。
php スクリプトの最初で session_start() が呼び出されると、$_SESSION["uID"] にアクセスできるようになります。ユーザーに一意の uID を提供した場合は、php.ini 内でのみ使用する必要があります。さらに、uID を使用して js から php への呼び出しを行うと、javascript が簡単に干渉され、「間違った」uID が渡される可能性があるため、巨大なセキュリティの抜け穴が発生します。ええ、私はあなたが言ったことに固執し、私の評決は次のようになります:はい、phpで宣言するだけで十分です:)
時間をかけてセッションを読んでください。
テストしたらどうなった?
通常、セッション ID は Cookie を介して送信されます。Cookie は、xmlhttp 要求でサーバーに送信する必要があります。Cookie は、HTTP リクエストによってブラウザに設定されます。
他の方法でセッション ID を送信したり、javascript を介してセッション cookie を設定したりすることは可能ですが、これについての説明は基本を理解するまであまり意味がありません。
Php は、クライアントにセッション ID を Cookie として保存させます。これは、リクエストごとに送信されます。ただし、ユーザーが Cookie を保持しない場合、セッションはキャンセルされます。さらに悪いことに、ユーザーがセキュリティで保護されていない場所からログオンすると、攻撃者がセッション ID を取得し、システムがそのユーザーを被害者として誤って識別する可能性があります。
実は、クライアントを特定する絶対的な方法はありません。ほとんどの場合、セッション ID で十分ですが、追加のセキュリティ層が必要な場合は、アカウントを IP チェックおよびセッションと組み合わせて使用してください。