2017-08-10 15 views
0

PHPドキュメントがあり、リクエストがクエリパラメータの有無に関係なくあるかどうかを知りたいとします。これをJavaScriptで直接行うには、文書のURLから値を抽出する組み込み関数がないため、何らかのハックを実行する必要があります。私は純粋なJSのハッキングを気にしませんが、私は、JavaScript内にいくつかのPHPを組み込むことができて、 "php value"を "JS value"に変換し、JS値をJavaScriptコード。値をWebページに表示する必要がある場合は、jQueryの.textメソッドを使用して値を設定し、XSS保護を確実にしてください。このようなインラインPHPを使用してJavaScript変数値を設定しても問題ありませんか?

何か:

<?php 
    $name = $_GET['name']; 
?> 

<!doctype html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" 
      content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> 
    <title>Document</title> 
</head> 
<body> 
    <script type="text/javascript"> 
     let name = "<?php echo $name?>"; 
     if (name === 'Devashish') { 
      console.log("Hello me!") 
      // do Devashish things 
     } else { 
      console.log("Please die"); 
     } 
    </script> 
</body> 
</html> 
+0

はい、問題ありません。代わりに、要素の属性にPHPの値を置き、JSのDOMから読み込むか、AJAXを使用する方法があります。 –

+1

これは完璧ですが、おそらくjson_encodeする必要があります。 '<?= json_encode($ name);?>' – GrumpyCrouton

答えて

0

この上あまりにも多くの考えがあります。

あなたはES6以上のように、最新のJavaScriptを使用している場合は、const name = 'xyz'またはJavaScript freezeまたはsealを使用して使用します。

は、次のようにあなたが行うことができますいくつかのセキュリティを追加します。それは変数への変更を防ぎます。

関連する問題