Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Хитрости и секреты создания сайтов


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Hubbitus
Статус: 10-й класс
Рейтинг: 175
∙ повысить рейтинг >>
Sipan
Статус: 3-й класс
Рейтинг: 138
∙ повысить рейтинг >>
Товарищ Бородин
Статус: Академик
Рейтинг: 62
∙ повысить рейтинг >>

∙ / КОМПЬЮТЕРЫ И ПО / Интернет / Хитрости и секреты создания сайтов

Выпуск № 253 от 07.06.2009, 18:35
Администратор рассылки: Ерёмин А.А., Советник
В рассылке: подписчиков - 571, экспертов - 119
В номере: вопросов - 1, ответов - 2

Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
оценить выпуск >>

Вопрос № 168789: Здравствуйте. Скажите пожалуйста у меня на страничке подключается файл main.js таким образом : <script type="text/javascript" src="../For_js/main.js"></script> Как можно сделать ,что бы запретить д...



Вопрос № 168789:

Здравствуйте.
Скажите пожалуйста у меня на страничке подключается файл main.js таким образом :

<script type="text/javascript" src="../For_js/main.js"></script>

Как можно сделать ,что бы запретить доступ к этому файлу если его хотят открыть таким образом http://namedomen/For_js/main.js ,
а по внутренней ссылке (как сейчас),что бы он подключался и все функции которые в нём работали.
Спасибо.

Отправлен: 02.06.2009, 18:17
Вопрос задал: Dima1967, Посетитель
Всего ответов: 2
Страница вопроса >>


Отвечает GINes, Студент :
Здравствуйте, Dima1967.

Защитить скрипт не получится. Т.к. javascript выполняется на стороне клиента, т.е. в браузере пользователя, а это означает, что скрипт будет загружен пользователю на компьютер для его последующей интерпретации. Если скрипт загружен, то получить к нему доступ можно простым сохранением страницы и просмотром сохранёных файлов, среди которых и будет искомый скрипт. Можно попытаться запретить доступ к файлу через htaccess, но боюсь в этом случае и конструкция вида ../For_js/main.js работать тоже не будет.

Ответ отправил: GINes, Студент
Ответ отправлен: 03.06.2009, 09:58

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250302 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает Товарищ Бородин, Академик :
    Здравствуйте, Dima1967.
    Давайте попробуем поразмышлять. Скрипт подключается в теге <SCRIPT src="../For_js/main.js"> и просматривается по ссылке http://namedomen/For_js/main.js. Если мы закроем доступ к файлу - изменим права доступа таким образом, что прочесть его будет нельзя, то мы не сможем его прочитать ни по ссылке, ни в SCRIPT. Если мы воспользуемся файлом .htaccess и "замаскируем" путь к файлу, то если он читается одним способом, он также просто прочитается и другим способом.

    Чтобы решить проблему, надо ответить себе на вопрос: различает ли сервер, как обращается клиент к его содержимому? То есть, иными словами, есть ли для файла разница, как его читают - с помощью тега SCRIPT или напрямую? Ответ тут один: файлу абсолютно все равно, каким образом его читают. В данном случае сервер определяет HTTP_USER_AGENT одинаково - это будет браузер пользователя. И в том, и в другом случае. А следовательно, если работает один способ, то работа ет и второй. Не работает один способ - не работает и другой.

    Сделать то, о чем Вы спрашиваете, можно было бы, если бы существовали какие-то "признаки", по которым сервер понимал, что файл, хранящийся на нем, читают именно так, а не иначе. А для него, как назло, что так, что этак - один черт, как говорится...
    Можно создать упакованную версию файла - читать человеку ее будет труднее, но при желании и ее можно распаковать. Эта защита годится только от чайников, от профессионала же она не спасет. Загляните в GOOGLE, там много ссылок на такие приложения. Эффективность их сильно различается - одни приложения просто вырезают переносы строк и лепят все в одну строку. Другие приложения заменяют все строковые константы на метки(каждой метке соответствует только одно слово), а в конце создают некий словарь из этих констант. В первом случае справиться с нечитабельностью кода можно просто - файл обрабатывается PHP-скриптом, вставляющим перенос строки после каждой точк и с запятой. Во втором случае уже будет немножко потруднее, но это задача тоже для PHP-программиста. Если человек не знает языка, умеющего работать с файлами, то он может сделать это и вручную(хотя я ему в этом случае не завидую - если файл большой, то это ж с ума сойти можно!).

    Короче, единственный нормальный совет, который Вам можно дать в данном случае - относитесь к этому проще
    С уважением, Товарищ Бородин

    Ответ отправил: Товарищ Бородин, Академик
    Ответ отправлен: 03.06.2009, 13:46

    Оценка ответа: 5

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250315 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
    оценить выпуск >>

    подать вопрос экспертам этой рассылки >>

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.0 beta от 24.05.2009

    В избранное