2012-03-15 11 views
1

から制限され、私は、次のJSコードを持つHTMLページがあります。Ajaxリクエスト - 現在のサーバー

<script type="text/javascript"> 
    $.ajax({ 
     url   : "get.data.php", 
     type  : "POST", 
     dataType : 'json', 
     data  : {'data01': param01, 'data02': param02}, 
     success  : function(data){ 
       //parsing the code 
     } 
    }); 
</script> 

をさて私は、要求が どこから来ているPHPのget.data.phpを検出することを希望それが信頼されたサーバーから来たものであれば正しく答えるか、リモートの未知のサーバーから来ている場合はその要求を無視する。

私はいくつかのアイデアを持っていますが、私は他の提案を聞きたいと思います。

新しいヒント: 私は私のウェブサーバ上の唯一の私のWebアプリがアクセスしretriveデータを、そのようなget.data.php などのサービスのPHPスクリプトからとの他のWebサーバ上の他のWebアプリケーションが直接get.data取り組むことを回避することができることを望みます。私のwebappをバイパスして、データを取得するphp。

+0

信頼できるサーバーはどういう意味ですか? 。すべてのユーザーが追跡されますか? –

+0

AJAXリクエストはサーバーではなくブラウザからのリクエストです。あなたのユースケースが何であるかはわかりません。一部のユーザーをブロックしますか? –

+0

@duke Webサーバー上の私のWebアプリケーションだけがget.data.phpなどのサービスPHPスクリプトからデータにアクセスして取得できるようにしたい 他のWebサーバー上の他のWebアプリケーションが直接get.data.phpをアドレス指定してデータを取得しないようにしたり、私のwebappをバイパスします。 – kante

答えて

1

あなたは、その信頼できるかどうか

例ならば、独自のデータにその情報を比較し、要求に関する情報を取得するために$_SERVER変数を使用することができます:$_SERVER

ため

$remote_ip = $_SERVER['REMOTE_ADDR']; // get ip of the request 

PHPマニュアル

+0

上記のスクリプトを含むリクエストとget.data.phpへのリクエストが別々のIPから来ているので、あなたのアドバイスはうまくいきません。 webserverIP)、たとえget.data.phpが最初のページから続いて呼び出されたとしても。 – kante

+0

@kanteはJavaScriptから呼び出すと$ _SERVER ['HTTP_REFERER']に設定されていますか?しかし、その値はブラウザによって設定されています – trembon

+0

$ _SERVER ['HTTP_REFERER']は私の最初のアイデアでした...しかし、必ずしも動作するとは限りません... Http_refererが設定されていないケースがあります。誰のためにも、たとえアプリケーションの所有者であっても答えがない – kante

関連する問題