2016-06-10 42 views
1

獨特的輸出,我有以下的Javascript:相同的JavaScript代碼,用PHP

<script> 
function myFunction() { 
    document.write("Hello StackOverFlow users!"); 
} 
myFunction(); 
</script> 

是任何建議/快速的方式來編碼/加密/縮小/使用PHP所以輸出是不同的,每次收拾的JavaScript(使用隨機字符串打包js或類似的東西)?
我只是想要相同的功能,每次都會做同樣的事情,但每次都使用不同的JavaScript代碼。

+0

用PHP隨機化JS函數行爲?使用'if else'切換不同的功能,可以做不同的事情 –

+0

@MeganFox該功能只是一個簡化事情的例子。我有一個完整的js文件需要做與現在一樣的事情,但代碼略有不同。 – dracosu

+0

@dracosu你期待什麼類型的輸出,請給出提示你有一組消息數組,它應該隨機返回 – user1234

回答

1

由於大多數壓縮器/壓縮器總是使用相同的算法而沒有任何種子,因此您可能會嘗試在函數本身之前和之後添加一些隨機js垃圾。

<?php 
function getRandomGarbage(){ 
    return "\nfunction " . uniqid() . "(){}\n"; 
} 
$myJsFunction = "... put your js here "; 
//You can send the following to a php js compressor or pack it yourself 
echo getRandomGarbage() . $myJsFunction . getRandomGarbage(); 
+0

感謝您的提示!但是,順便說一句,我期待着爲整個js文件製作獨特的片段,而不僅僅是一個功能。然而,從你的建議開始,我認爲我可以做到! – dracosu

-1

在PHP

創建隨機字符串函數
<?php 
/* 
* Create a random string 
* @author XEWeb <> 
* @param $length the length of the string to create 
* @return $str the string 
*/ 
function randomString($length = 6) { 
    $str = ""; 
    $characters = array_merge(range('A','Z'), range('a','z'), range('0','9')); 
    $max = count($characters) - 1; 
    for ($i = 0; $i < $length; $i++) { 
     $rand = mt_rand(0, $max); 
     $str .= $characters[$rand]; 
    } 
    return $str; 
} 
?> 

然後修改您的js函數如下

<script> 
    //assign php variable to js variable 
    function myFunction() { 
     var randomString=<?php echo randomString(10);?> 
     document.write(randomString); 
    } 
    myFunction(); 
</script> 

這將允許你每次JS調用函數時

寫隨機字符串[取自'https://www.xeweb.net/2011/02/11/generate-a-random-string-a-z-0-9-in-php/'的PHP函數]

+0

你好Projesh,我正在尋找一個獨特的代碼片段,不僅是一個獨特的字符串,所以你的解決方案不適合這個問題。 – dracosu