このステートメントが読み取られるとすぐに、指定されたリダイレクト URL にすぐにジャンプします。もちろん、PHP では、まず header() 関数が次のことを行う必要があることを明確にする必要があります。"/> このステートメントが読み取られるとすぐに、指定されたリダイレクト URL にすぐにジャンプします。もちろん、PHP では、まず header() 関数が次のことを行う必要があることを明確にする必要があります。">

ホームページ >バックエンド開発 >PHPチュートリアル >[php] リダイレクトを使用してフォーム処理ページが存在しないように装う

[php] リダイレクトを使用してフォーム処理ページが存在しないように装う

WBOY
WBOYオリジナル
2016-06-13 12:17:32970ブラウズ

[php] リダイレクトを使用してフォーム処理ページが存在しないことを偽装します

PHP のリダイレクトは、リダイレクトされた JavaScript コードを直接出力することを除けば非常に簡単です。

元の PHP リダイレクトは次のようなものです:

<?phpheader("location: url");exit;?>

このステートメントを読むとすぐに、指定されたリダイレクト URL にすぐにジャンプします。

もちろん、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 "呵呵";}?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。