ホームページ > バックエンド開発 > PHPチュートリアル > PHPはJavaScriptの値を取得してドメイン名の由来を調べるのが難しい問題がありますね~。

PHPはJavaScriptの値を取得してドメイン名の由来を調べるのが難しい問題がありますね~。

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-23 13:56:12
オリジナル
849 人が閲覧しました

コード全体は次のとおりです
まずブラウザで実行し、コンソールを開いて観察します
http://localhost/test.php

<a href="test1.php">跳转到test1</a>
ログイン後にコピー

次に test1.php にジャンプし、コード
<?phpsession_start();require "./test2.php";class A{	function __construct()	{		$b=new B();		$b->judge();	}	function judge()	{		if($_SESSION['status']==1){			return true;			}else{			return false;			}	}	function run()	{		if($this->judge()){			echo 'success';			}else{			echo 'error';			}	}}$a=new A();$a->run();?>
ログイン後にコピー

を使用して実行しますクラス A メソッド まずドメイン名の由来を判断し、それが localhost からのものであるかどうかを判断します。そうであれば、エラー
test2.php コード
<?phpsession_start();class B{	function judge()	{		echo '<script>		var xmlhttp;		if (window.ActiveXObject){		  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");		}else{		  xmlhttp = new XMLHttpRequest();		}		xmlhttp.open("POST", "./test3.php", true);		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");		xmlhttp.send("data="+document.referrer);		console.log(document.referrer); //控制台观察		xmlhttp.onreadystatechange = function(){		  if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {		  }		};</script>';	}}?>
ログイン後にコピー

test3.php の代わりに成功を出力し、ajax 実行ファイル
<?phpsession_start();if(stristr($_POST['data'], 'localhost')){    			$_SESSION['status']=1;    		}else{    			$_SESSION['status']='';    		}?>
ログイン後にコピー


を呼び出します。

ディスカッションへの返信 (解決策)

問題は、元のコードの最終出力が

<script>		var xmlhttp;		if (window.ActiveXObject){		  xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");		}else{		  xmlhttp = new XMLHttpRequest();		}		xmlhttp.open("POST", "./test3.php", true);		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");		xmlhttp.send("data="+document.referrer);		console.log(document.referrer);		xmlhttp.onreadystatechange = function(){		  if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {		  }		};</script>success
ログイン後にコピー
であることです
それなら、誰かがそれを php でキャッシュする方法を持っているかもしれません。実際、私もそれを試しました
session_start(); class bunced()
{xmlhttp = new xmlhttprequest(); .setRequestHeader("Content-Type", "application/x-www-form-urlencoded ");
xmlhttp.send("data="+document.referrer);
xmlhttp. onreadystatechange = function(){
if (xmlhttp.readyState === 4 && xmlhttp.Status === 200) {
}}; // たとえば、ここに追加します
}}} ? & gt; script>script を追加しますが、同時に console.log(document.referrer); のコードを囲むのを忘れました。コードの形式が間違っています () ということは、貼り付けるときに間違えたということです
本題に戻りますが、何か良いアイデアはありますか? ? ?

ヘッダーにJavaScriptファイルがあるので、ここに文字列を出力するだけです
HTMLテンプレートを呼び出すと、
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート