[php] リダイレクトを使用してフォーム処理ページが存在しないことを偽装します
PHP のリダイレクトは、リダイレクトされた JavaScript コードを直接出力することを除けば非常に簡単です。
元の PHP リダイレクトは次のようなものです:
<?phpheader("location: url");exit;?>
もちろん、PHP の場合は、まず header() 関数を PHP プログラムの先頭に配置する必要があり、他の header() 関数や setcookie() を配置できないことを明確にする必要があります。 Web ページ出力を使用する場合は、このステートメントを
マークの前に配置する必要があります。 もちろん、リダイレクトが使用される場合は、通常、これを考慮する必要はありません。 , 以下の内容は基本的に読まれません。リダイレクトを使用して、フォーム処理ページが存在しないように見せかけます。これにより、ハッカーが当社のフォーム処理ページを簡単に発見することができなくなります。フォーム処理ページには通常、データベース操作が含まれるためです。他人にURLを入力させてアクセスさせることはできません。
たとえば、次のページ redict.php は実際に存在しますが、正しいパラメーター a を入力しなかったり、このページを開くためのフォームを誤って送信したりすると、404 が返され、このページは存在しないと思います。一般に、このページで処理されるパラメータが a であることを簡単に推測できる人はいません。したがって、帳票処理ページを保護する効果があります。
この保護コードの考え方は非常に単純です。処理するパラメータがあるかどうかを判断するだけです。そのようなパラメータが存在しない場合、ディレクトリへのリダイレクトは行われません。保存されたページ:
<?phpif(empty($_REQUEST["a"])){ header("location: error.php"); exit;}else{ //这里仅仅是为了设置正常的编码输出“呵呵”而已!。 header("Content-type: text/html; charset=utf-8"); echo "呵呵";}?>