2012-02-14 3 views
0

Допустит, я имею включить следующую строку с моим заголовком сайта:сохранить JS файлов как PHP

<script type="text/javascript" language="javascript" src="file.js"></script> 

Теперь любой желающий может легко посетить my--web--site/file.js и просмотреть его источник. Итак, интересно, есть ли какая-либо идея, которую я могу переименовать file.js в file.php и все еще могу назвать это и прекрасно работает, так что никто не может просмотреть его, посетив my--web--site/file.php.

Любая идея?

+0

Ваши файлы JS будут на ПК пользователя, поэтому забудьте о DRM-подобном и лучше пойдете и подготовьте хорошие проверки на стороне сервера на входах данных. Вы можете запутать свой JS, если хотите сохранить свой knowlkedge для себя. – Alfabravo

+0

Вам нужно понять разницу между ** кодом на стороне клиента ** и ** кодом на стороне сервера **. – SLaks

+0

Файл будет содержать личную информацию о том, что я называю это с помощью ajax! –

ответ

5

О единственном, что вы могли бы сделать, это затруднить чтение и понимание вашего кода JavaScript.

Ознакомиться с этим post on the YUI blog о классификации и обфускации. У Minification будет добавлено преимущество в сокращении вашего сценария и, следовательно, загрузка быстрее.

Обратите особое внимание на то, что статья должна сказать в своем заключительном пункте:

Тогда, наконец, есть то, что вопрос о конфиденциальности кодекса. Это потерянное дело. Нет никаких преобразований, которые позволят определенному хакеру понять вашу программу. Это оказывается верным для всех программ на всех языках, это более очевидно с JavaScript, потому что оно поставляется в исходной форме. Причиной конфиденциальности, обеспечиваемой обфускацией, является иллюзия. Если вы не хотите, чтобы люди видели ваши программы, отключите ваш сервер.

+0

+1 для этой цитаты - это действительно потерянное дело, но люди всегда будут об этом спрашивать. –

3

Нет, вы не можете этого сделать. Если браузер пользователя может прочитать ваш JS-файл, этот человек также должен прочитать ваш JS-файл. Так работает Интернет. Это хорошее и желательное поведение, и вы не должны пытаться заставить людей читать CSS/JS/HTML, который составляет ваш сайт. Он полностью побеждает и не имеет никакой цели. Никто не заинтересован в краже вашего JS-кода.

2

Если вы не хотите, чтобы люди, видя содержимое вашей веб-страницы (включая ваш JS), не размещали это в Интернете!

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

2

№ файла JavaScript загружается и выполняется в веб-браузере. Это означает, что пользователь должен иметь возможность загрузить его.

Вы можете запутать его, используя some kind of obfuscator, что делает его намного труднее для людей, чтобы читать, но при этом поддерживать его функциональностью клиентом.

3

Javascript распространяется как источник - если ваши пользователи не могут его просматривать, они не могут его запустить - так что нет, на самом деле.

Что вы можете сделать, если вы параноик, запутывает и минимизирует (Google «minify javascript») источник перед развертыванием.

Это далеко не пуленепротивление, хотя (например, хром имеет очень красивый симпатичный принтер в своих инструментах для отладки).

Смежные вопросы