4

一部のシステムには、特定の IP による Web サイトの表示を停止する IP アドレスのブロックリストがあります。現在、PHP は、IP アドレスが何とか何とかブロックされているというテキストを発行するだけです。

でも

私は HTTP エラー コード 403 に出くわしました。より正確にはエラー コード 403.6 ( http://en.wikipedia.org/wiki/HTTP_403 ) で、単なるテキストよりも優れていると思います。

しかし、私は.6がウィンドウまたはそれらの行に沿ったもの専用であることをどこかで読みました??

LAMP サーバーから PHP 経由で 403.6 ヘッダーを送信できますか? これは、単に「ブロックされたテキスト」を送信するよりも良い方法でしょうか?

4

5 に答える 5

9

禁止の正しいコードであるため、単純な 403 を送信してから、ユーザーが何が起こっているのかを理解できるように、カスタム テキスト メッセージを送信します。

サンプルの php コードを以下に示します。

<?php
header("HTTP/1.0 403 Forbidden");
?>

<h1>Access Forbidden!</h1>

You have been banned from seeing our site because xx and you will
xx etc ... 
于 2011-04-17T23:23:53.353 に答える
4

特定の IP アドレスがブラックリストに登録されているためにブロックされている場合、特に「悪意のある」とマークされているアドレスについては、単純な 404 "Not Found" HTTP ステータスを返すことは問題ありません。

彼らが使用できる情報を提供しないでください。「ここにはあなたが見ることが許されていないものがあります」の代わりに「ここには何も見るものはありません」と言ってください。

いずれにせよ、常に知る必要がある情報を提供するようにしてください。

于 2013-10-17T14:43:38.083 に答える
1

HTTP が定義された方法によると、真の標準的な方法では、サーバーはカスタム 4xx HTTP ステータス コードで応答する必要があります。4xx 範囲の多くの未使用のステータス コードを使用できます。

また、すでに使用されているステータス コードのリストは、こちらにあります

編集:

ステータス コードとメッセージの両方を使用する必要がありますが、既に定義されているものとは無関係のものを使用してください。例として、次を使用できます。

455 Your access has been blocked for excessive crawling
于 2011-04-17T23:12:47.920 に答える
0

Apache サーバーに .htaccess ファイルを設定して IP アドレスをブロックし、ブロックされたすべての IP 範囲をルールに含めることができます。403 メッセージのエラー メッセージ (ブロックされた接続に対して表示される) も、.htaccess ファイルでカスタマイズできます

于 2011-04-17T23:14:57.327 に答える
0

そのようにユーザーの顔にドアをバタンと閉めようとしているのであれば403.6、無地に戻っても意味がないと思います。403

もう 1 つのオプションは、200代わりに適切なメッセージを送信することです。使いやすさのために、何が起こったかをユーザーに通知したい場合 (おそらく、誤ってブロックされていると信じている人に連絡先情報を提供するなど) .

「ドアをバタンと閉める」アプローチ (技術的にはより正しい) と「フレンドリーな」アプローチ (人間のユーザーにとってより良い) のどちらかを選択する必要があります。

于 2011-04-17T23:15:55.707 に答える