PHPでブラウザが(人間によって)実行されたことを確認する方法があるかどうか疑問に思っていました。ページがブラウザで表示されているかどうかを確認しますか? PHP
私はcURLリクエストによってアクセスする必要があるページを持っています。だから、私はユーザーがその上を詮索するのを望んでいない。
おかげ
EDIT:
これは簡単にウェブ上で発見されていないこれらの質問の1つであるため、ここで私が使用した溶液だ:
私はアイデアのおかげで思い付いanthony-arnoldに。それほど安定していませんが、今のところそれが必要です。
私は単に私のcURLの要求でユーザエージェント送ら:
//made a new var with the user agent string.
$user_agent = "anything I want in here, which will be my user agent";
//added this line in the cURL request to send the useragent to the target page:
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
をして、私は単にそれを処理するためのif文を書いた:
if
($_SERVER['HTTP_USER_AGENT'] == "my expected useragent - the string i previously placed into the $user_agent var."){
echo "the useragent is as expected, do whatever";
}
else if
($_SERVER['HTTP_USER_AGENT'] != "my expected useragent - the string i previously placed into the $user_agent var."){
echo "useragent is not as expected, bye now."; exit();}
そして、それはトリックをしました。
あなたはcURLリクエストで特殊変数を送ることができます – Sedz
人間がコマンドラインで 'curl 'を使用するとどうなりますか? :-O – deceze
それは問題ありませんが、誰かが本当にカール以外の何かを使ってアクセスしようとしているのなら、そうすることができます。 – Anthony