2017-08-10 67 views
0

假設我有一個PHP文件,並且我想知道請求是使用或不使用查詢參數進行的。要直接在JavaScript中執行此操作,我必須進行一些破解,因爲沒有內置函數可以從文檔的URL中提取值。雖然我不介意做純粹的JS黑客攻擊,但我很想知道是否可以在JavaScript中嵌入一些PHP,將一些「php值」轉換爲「JS值」,並使用JS值繼續處理JavaScript代碼。如果值應該在網頁中呈現,請使用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($名);?>' – GrumpyCrouton

回答

0

有這個太多的思念。

要增加一些安全性,你可以做如下:

如果您正在使用最新的JavaScript像ES6或更高,使用const name = 'xyz'或使用JavaScript freezeseal。這將阻止修改變量。

相關問題