私のウェブサイトは有料(無料ではありません) APIを提示しています。だから私はすべての着信ajax呼び出しを識別し、未知の要求を拒否する必要があります。ajaxリクエストを識別する方法は?
- 要求は私の自身のウェブサイト
- 要求はAPIの費用を支払っている人から来ているから来ている:他の言葉では、私だけにJSONの結果を返したい。
$paid_ips = ['138.14.4.3', '32.16.6.1']; $ip = $_SERVER['REMOTE_ADDR']; if ($ip == '::1' || in_array($ip, $paid_ips)) { // allowed } else { // not allowed }
ご存知のように、
$ip == '::1'
は私のウェブサイトの要求を決定します:
は、ここに私のコードです。今私は安全なことを知りたいですか?または、それを処理するためのより良いアプローチがありますか?
セッションでハッシュ値を保存してここで使用すると、IPアドレスを常に比較する必要はなく、サーバーやその他の理由を変更しても機能します。 –
パスワードとユーザー名の使用はどうですか?ほとんどの支払いゲートウェイはこのように使用していますが、getメソッドを使用してそれらを渡すことはありません。 –
他の場所では "$ _SERVER [ 'REMOTE_ADDR']は実際のクライアントのIPアドレスを含んでいない可能性があります。 "、プロキシと偽のIPのためです。私はそれについての話題を見つけた:http://stackoverflow.com/questions/3003145/how-to-get-the-client-ip-address-in-php – Matiboux