ホームページ >バックエンド開発 >PHPチュートリアル >REMOTE_ADDRを使用して取得したIPが偽造されている可能性はありますか?ソリューションのアイデア
REMOTE_ADDRを使用して取得したIPが偽造されている可能性はありますか?
投票 Web アプリケーションを作成しています。一定期間同じ IP で継続的に投票することはできません。IP を取得するために REMOTE_ADDR を使用します。 プロキシの使用、ダイヤルの繰り返しなどの「通常の」状況に関係なく、恣意的な偽造を意味します。
。
IPやTCPプロトコルなどはよくわかりませんが、理論的には偽造できるが返された情報は取得できないと聞きましたが、チケットをスワイプする場合はそうなるようです。投稿リクエストが成功する限り、情報や Web ページの返信は重要ではありません。私の理解は正しいですか?これは、IP アドレスを偽造して票を増やすことが可能であることを意味するのでしょうか?
------解決策----------------------
REMOTE_ADDR は、あなたに直接接続されていることを意味しますサーバーデバイスのIPアドレスインターネット上のすべてのルーターは透過設定を持っているため、REMOTE_ADDRは実際にはインターネットに接続するデバイスのIPアドレスになりますそして、インターネットに接続されているほとんどのルーターには透過設定機能がありません
REMOTE_ADDR を偽造すると、返された情報を取得できないこともわかります。
そうすると、REMOTE_ADDR を判断しながらセッションを判断するだけで済みます (セッション ID を有効にするには、ユーザーと対話する必要があります)または、フォーム ページがリダイレクト (js の場所の指定、php ヘッダー関数) を経由する必要があるため、投票集計ページに到達でき、悪意のある偽造を回避できます
-----ソリューション アイデア------ ----- -----------
セッションを開きますsession_start();次にセッション変数を作成します
$_SESSION['name'] = 'value';
名前と値はあなたが決定します
投稿を受け取ったページは、投票を数える前に名前と値が正しいかどうかをチェックします