0

PHPのソケットを介してURLへのPOSTを防ぐ方法はありますか? http://en.wikipedia.org/wiki/CSRFについてはすべて知っていましたが、任意のフォームに一意のハッシュを持つ非表示の入力を配置したくありません。スクリプトの任意の URL へのグローバルな POST を防止したいだけです。リモート ホストまたはその他のクライアント。HTTP_EXPECT と REQUEST_METHOD をチェックすることで cURL 経由の POST を防止する方法がありますが、スクリプトがソケット接続を介してクライアントによって呼び出された場合、それについて決定できる特別なパラメーターはありません。実際には、通常の POST と POST の間に違いはありません。ソケット経由。ソケットを介してhttp://www.google.comに POST しようとすると、 HTTP/1.1 405 Method Not Allowedエラーが発生します。必要なものはすべて、私の PHP スクリプトと同じ方法です。

ありがとう。

4

2 に答える 2

2

あなたの質問が届いたかどうかわかりません。すべてのリクエストmod_rewriteを禁止するために使用できます。POST

RewriteEngine On
RewriteCond %{REQUEST_METHOD} !^POST 
RewriteRule .* /yourerrordocuments/405.html [R=405,L] 

これをあなたの中に入れてください.htaccess。すべての投稿リクエストを無効にします。

于 2013-09-22T20:33:50.420 に答える
0

@hek2mgl はすべてのスクリプトに最適なソリューションですが、スクリプトごとに次のことを試すことができます。

<?php
if(isset($_POST))
{
  die();
}
else
{
  echo 'continue';
}
?>
于 2013-09-22T22:46:29.693 に答える