|
|
|
| как защитить скрипты javascript от скачивания?
т.е. на сайте они лежат в отдельной папке jscript, чудик смотрит исходный код, видит путь к скриптам и указывает его в браузере или качалке и ... на своем пк имеет плод чужих трудов :(
в принципе тоже можно сказать и про исходники php страниц, но там вроде есть шифровальщики и путальщики ... :)
т.е. вопрос: можно ли средствами сервера или операционной системы unix запретить просмотр скриптов?
запрет на папку с помощью .htaccess не предлагать, т.к. считать то нельзя скрипты, но они и не работают на страницах сайта!!! :) | |
|
|
|
|
|
|
|
для: crazzzy
(22.04.2008 в 21:50)
| | никак. тем и хорош java-script, что он доступен всем! :) некоторые шифруют или кидают замаскированные алерты. но это все можно обойти. | |
|
|
|
|
|
|
|
для: elenaki
(22.04.2008 в 21:52)
| | типа жадность плохое качество :)
ну и правильно!
:)
а может путь как-то "путать", там программно составлять или программно грузить скрипт ...
т.е. чтобы в исходном php файле небыло пути в явном виде к файлу при просмотре исходного текста страницы в броузере ... сумбурно, но это я фантазировать пытаюсь.
например как xml файлы я сложил в папку, запретил к ней доступ, но через php DOM я их гружу и обрабатываю. т.е. сами файла извне не получить, но содержимое, результат обработки на странице виден. | |
|
|
|
|
|
|
|
для: crazzzy
(22.04.2008 в 21:57)
| | а нука, дайте ссылку на файл доступ к которому не получить?! | |
|
|
|
|
|
|
|
для: AlexSol
(22.04.2008 в 22:45)
| | не пугай меня :)
я в папку с файлами данных бросил файл .htaccess в котором запретил доступ
<FilesMatch "\.(xml|xsl)$">
order allow,deny
deny from all
</FilesMatch>
а в php читаю из этой папки
$xml = new domDocument();
$xml->load("data/file.xml");
скачать файл www.сервер/data/file.xml напрямую нельзя!
я что-то не так понимаю!? или где .. :) | |
|
|
|
|
|
|
|
для: crazzzy
(23.04.2008 в 01:59)
| | JS скрипы, да вообще любой файл вы можете защитить от прямого доступа (закрыть деректорию), но вам говорят не об этом. Для того чтобы JS сценарии работали, они должны быть прописаны либо в теле HTML файла, либо подключаться к нему. Любой подключаемый файл .js становиться доступным клиенту. Поэтому его можно без труда просмотреть, т.е. нельзя защитить его. | |
|
|
|
|
|
|
|
для: sim5
(23.04.2008 в 02:07)
| | Немногго добавлю.
Пока пишите скрипты руками, вам их жалко... как только научитесь генерить скрипты для конечного пользователя автоматически с помощью того же РНР поймёте, что конечный скрипт представляет интерес лишь для того кому он был сгенерирован. И толку от скачивания вашего конечного скрипта, если на данный момент времени их существует с десяток вариантов? А вот сам процесс генерации, то что надо защищать и прятать.) | |
|
|
|
|
|
|
|
для: Valick
(23.04.2008 в 08:16)
| | как я и предполагал надо что-то с жадностью в голове пдкрутить ... :) | |
|
|
|
|
|
|
|
для: crazzzy
(23.04.2008 в 15:54)
| | все верно, php то выполняется на сервере, javascript на клиенте, т.е. скрипт полюбому должен попасть на мащину клиента!!! | |
|
|
|
|
|
|
|
для: crazzzy
(25.04.2008 в 00:53)
| | Ну и...? | |
|
|
|
|
|
|
|
для: sim5
(25.04.2008 в 00:59)
| | противоречие ... т.е. если защитишь, то он не попадет на машину клиента, а следовательно не выполнится и не будет функциональности.
чтобы была функциональность заложенная в скрипте он должен закачаться на машину клиента, т.к. он выполняется на клиенте ... следовательно, если он на машине, то его можно выцарапать и сохранить! | |
|
|
|
|
|
|
|
для: crazzzy
(25.04.2008 в 01:06)
| | JS-файл, как и любой файл можно защитить на стороне сервера, просто закрыв папку с этим (этими) файлами с помощью .htaccess. При этом все эти защищенные файлы будут доступны РНР сценарию. Так что с помощью РНР сценария вы сможете без проблем отдать свой JS скрипт клиенту. А вот отдав его, он становится уже "добычей" клиента, выцарапывать и не надо, он спокойно в кеше браузера находиться будет, зашли и скопировали. | |
|
|
|
|
|
|
|
для: sim5
(25.04.2008 в 01:10)
| | я так и понимаю ...
а как средствами php отдать файл js, можно пару строчек кода? | |
|
|
|
|
|
|
|
для: crazzzy
(28.04.2008 в 19:11)
| | Можно считать JS-файл, потом отдать его, а лучше поступить так:
JS сценарий на сервере, это РНР файл. Средствами РНР можно оперативно вносить в него изменения, например, подключая его и передавая ему изменения значений переменных, и т.п.. Чтобы подключить такой JS-файл к странице, нужно обратиться к РНР обработчику, который отдаст на страницу его контент. Например, это подключение:
<html>
<head>
<script language="JavaScript" src="js.php"></script>
</head>
|
Файл js.php:
<?
$s = "This JS";
header ("Content-type: text/javascript");
echo 'function quest() {
q = "'.$s.'";
alert(q);
}';
?>
|
Здесь РНР скрипт, при обращении к нему, формирует JS сценарий. Но можно подключать РНР файлы JS сценариев (считывая их контент) в зависимости от запроса, например:
<html>
<head>
<script language="JavaScript" src="js.php?id=5"></script>
</head>
|
Таким же образом можно производить подключение CSS файлов, если требуется их динамичическое формирование, например, смена некоторых стилей или значения этих стилей. При этом будучи закрытыми посредством .htaccess, эти файлы будут доступны РНР обработчику. | |
|
|
|
|
|
|
|
для: sim5
(29.04.2008 в 02:19)
| | хм ... этим мы добиваемся того, что нельзя будет скачать файл с сайта напрямую, работать он должен, но в таком случае где будет текст js в тексте страницы ... !
еслиб он в кэше затерялся и пользователь не знал его имя еще ладно, надо было бы обнулить кэш и посмотреть изменения, а тут прямо на блюдце в исходнике страницы ...
т.е. тоже половинчатое решение, но спасибо за пример! | |
|
|
|
|
|
|
|
для: crazzzy
(29.04.2008 в 17:49)
| | Он не будет в теле страницы, он будет в подключаемом JS-файле. Полностью сделать недоступным скриты вы не сможете, об этом вам уже сказали. Вы просили пример, я вам его дал, а уж нужен он вам или нет...) | |
|
|
|
|
|
|
|
для: sim5
(29.04.2008 в 17:55)
| | да это все понятно, я говорю в теле странице на клиенте, т.е. когда чел-к выполнит команду из меню броузера см.исходный код, ему откроется картина исх.кода js
а вот еслиб отдачу через php и код не на страницу а отдельным файлом, в кэш ... | |
|
|
|
|
|
|
|
для: crazzzy
(29.04.2008 в 20:58)
| | есть одна из радновидностей аякса, когда аяксом получается js код. это еще одна приграда, но не более | |
|
|
|
|
|
|
|
для: crazzzy
(29.04.2008 в 20:58)
| | >а вот еслиб отдачу через php и код не на страницу а отдельным файлом, в кэш ...
Уважаемый, я же вам говорил, да вы и сами должны знать, что непосредственно на странице будет только тот JS-код, который на ней прописан, а любой подключаемый, не важно как, либо непосредственно JS-файл, либо отдаваемый РНР-сценарием, будет помещен в кеш. | |
|
|
|
|
|
|
|
для: sim5
(30.04.2008 в 01:46)
| | хорошо если так, спасибо, на днях займусь вопросом ...
также нашел программку Javascript Obfuscator
:) | |
|
|
|
|
|
|
|
для: crazzzy
(22.04.2008 в 21:50)
| | в гугл по слову "обфускация" ) | |
|
|
|
|
|
|
|
для: mechanic
(23.04.2008 в 09:30)
| | Я както видел js файлик, половина кода было зашифровано, похоже на base64.
Но при запуске страницы, js работал. Но когда я в этот шифр я добавил два символа, тогда он перестал работать... | |
|
|
|
|
|
|
|
для: Ильдар
(25.04.2008 в 01:04)
| | Когда мне надо усложнить получение Js, я подгружаю их аяксом, старательно прячу передаваемые параметры и место принятия. Это не 100%, но попотеть придется.. | |
|
|
|