У меня есть следующий Javascript:
<script>
function myFunction() {
document.write("Hello StackOverFlow users!");
}
myFunction();
</script>
Есть какой-нибудь рекомендуемый / быстрый способ кодировать / шифровать / минимизировать / упаковать JavaScript с помощью PHP, чтобы каждый раз выводить разные данные (используя случайную строку для упаковки js или что-то подобное)?
Я просто хочу одну и ту же функцию, которая будет делать то же самое каждый раз, но каждый раз с другим кодом JavaScript.
Поскольку большинство упаковщиков / компрессоров всегда используют один и тот же алгоритм без начального числа, вы можете попытаться добавить какой-нибудь случайный мусор 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();
Создать случайную строковую функцию в 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
[PHP функция взята из ‘https://www.xeweb.net/2011/02/11/generate-a-random-string-a-z-0-9-in-php/«]