скрыть javascript от отображения в браузере


У меня есть несколько javascripts, которые я использую в своих файлах. Но когда мы просматриваем исходный код, он показывает наш javascript таким, какой он есть. Есть ли какой-либо способ, с помощью которого мы можем скрыть наш javascript от отображения в браузере с помощью php.

Author: SilentGhost, 2009-07-24

7 answers

В есть бесплатный обфускатор javascriptjavascriptobfuscator.com . Это не помешает преданным людям "украсть" ваш код, но обычное копирование и вставка будут непростыми.

Также смотрите этот вопрос: Как я могу запутать (защитить) JavaScript?. Он содержит несколько очень хороших ответов, а также объясняет, как это безопасность через неизвестность.

 6
Author: Espo, 2017-05-23 12:25:03

Вот как это работает, это видно всем. Однако вы можете запутать его.

 5
Author: slipbull, 2009-07-24 10:52:07

Поскольку Javascript выполняется внутри браузера, на компьютере клиента, он должен быть отправлен на этот клиентский компьютер.

Итак, так или иначе, клиент должен уметь его читать. Так что нет, вы не можете запретить своим пользователям просматривать код JS, если они этого захотят.

Вы могли бы запутать , но кто-то, кто действительно хочет добраться до вашего источника, всегда сможет это сделать (если это сложно)... Но дело в том, почему вы не позволяете своим пользователям видеть источник JS код, если они захотят?

В качестве примечания: с уменьшенным/запутанным кодом JS, когда у вас будет ошибка, ее будет действительно сложнее отследить... (и вы действительно должны хранить версию без запутывания на своей машине разработки/тестирования)

 3
Author: Pascal MARTIN, 2009-07-24 11:04:02

Я рекомендую сократить его, и это удалит комментарии и пробелы из вашего кода. Если вы не хотите, чтобы имена переменных были видны, вам нужно будет запутать их.

 2
Author: AutomatedTester, 2009-07-24 10:53:31

Я не уверен, что это сработает, я могу попробовать как-нибудь. Но в основном:

<script type="text/javascript" src="MyScript.php"></script>

В PHP-файл добавьте какую-нибудь ссылку, чтобы проверить, какая страница запрашивала ее или какой была последняя страница. Затем, если это была одна из ваших собственных страниц, повторите JS, если нет, то не повторяйте ее. По-прежнему будет возможно прочитать JS, но даже сложнее, чем просто просмотреть исходный код и удалить его. Таким образом, вы также можете запутать код внутри файла .php.

 1
Author: TylerF, 2009-07-24 11:23:33

Нет. javascript выполняется на стороне клиента.

 0
Author: troelskn, 2009-07-24 11:00:28

Существует еще один способ скрыть Javascript для самых простых пользователей

Просто протестируйте здесь, чтобы попытаться найти javascript за текстовым полем...

Тем не менее, сценарий все еще виден опытным пользователям - см. нижнюю часть этого поста, чтобы понять, почему-

Идея состоит в том, чтобы поместить ваши функции javascript в отдельный файл ".js". При загрузке исходной PHP или HTML-страницы, вместо того, чтобы вызывать ее напрямую с помощью

<SCRIPT language="JavaScript" SRC="original_file_to_hide.js"></SCRIPT>

, вы включите php-скрипт заголовка, который скопирует"mysource.js "файл наугад"kcdslqkjfldsqkj.js "файл, и измените свой HTML-файл, чтобы вызвать

<SCRIPT language="JavaScript" SRC="temporary_copy_of_the_file.js"></SCRIPT>

Вместо этого. После этого просто удалите копию kcdslqkjfldsqkj.js файл на вашем сервере, и когда пользователь будет искать исходный код, браузер будет ссылаться на исчезнувший файл!!!

Итак, это для теории, далее, есть небольшая проблема для решения: если файл HTML/PHP тоже загружен быстро, ваш скрипт исчезнет с вашего сервера до того, как браузер успеет загрузить скрипт.

Таким образом, вам нужно

  1. Чтобы скопировать файл под другим случайным именем
  2. Для загрузки файла в исходный PHP-файл
  3. Подождать несколько секунд после загрузки вашего HTML/PHP файла , прежде чем...
  4. ...Удаление файла

Вот источник для HTML/PHP"test.php "страница, которая должна быть отображена на конечный пользователь:

<?php
    //javascript source code hiding technique : Philippe PUECH, 2013

    //function thanks to Stackoverflow, slightly modified
    //http://stackoverflow.com/questions/4356289/php-random-string-generator
    function RandomString()
    {
        $characters = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        $randstring = '';
        for ($i = 0; $i < 10; $i++) 
            {
                $randstring = $randstring.$characters[rand(0, strlen($characters))];
            }
        return $randstring;
    }

    //simple header script to create a copy of your "precious" javascript ".js" file
    $original_filename="functions.js"; //find a better (complicated) name for your file
    $hidden_filename=RandomString().".js";  //temporary filename
    copy($original_filename,$hidden_filename);

?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Catch my Javascript if you can !</title>

</head>

<SCRIPT language="JavaScript" SRC="<?php echo($hidden_filename); ?>"></SCRIPT>

<script type="text/javascript">
</script>

<body onLoad="javascript:testfunc();">
    This is the page with anything you like !
</body>

</html>
<?php
    sleep(1);
    //you can comment following line
    echo "finished !";
    unlink($hidden_filename);
?>

Вот источник для "functions.js "файл, который будет скрыт для пользователя.

// JavaScript Document
function testfunc(){
    alert("It works...");
}

Однако, как сказано в комментарии, инструменты разработчика браузера сохранят скрипт в памяти и сделают его по-прежнему видимым для любопытных пользователей... ;-((

 -2
Author: philippe, 2013-04-04 14:53:29