13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FAQ по JavaScript19.07.2010, 18:55. Показов 50013. Ответов 17
Метки нет (Все метки)
Как запретить пользователю просмотреть код страницы?
Никак. Существующие способы, базирующиеся на языке JavaScript, не позволяют достичь принципиальной защиты. Они приемлемы лишь для защиты от неопытных пользователей. Как с помощью JavaScript подгрузить произвольный file.js?
Как работать с cookie? Cookie позволяют хранить данные подобно глобальным переменным. Работать с cookie можно с помощью таких функций:
Рассмотрим это на примере отслеживания нажатия кнопки "S"
Если содержимое другого фрейма (окна) представляет собой документ с чужого сервера (домена), то ничего сделать нельзя из соображений безопасности. Если странички лежат на разных поддоменах (например, a.site.ru и b.site.ru) и вы имеете доступ до тех и других, пропишите в них document.domain="site.ru" Соображения безопасности тут такие: К примеру, вы работаете с каким-нибудь администраторским интерфейсом или читаете почту через веб-форму. Некто присылает вам ссылку "приколись, чувак, новый секретный мультик про Масяню", вы открываете ее, а там страница, которая грузит к себе во фрейм этот самый ваш запароленный интерфейс и делает с ним, что хочет - ведь браузер запомнил ваш пароль. Может быть, что вы просто неправильно пишете путь к фрейму. Правильный путь top.название_окна.frames.имя_фрейма . Если окно - текущее, то название окна можно опустить, получится top.frames.имя_фрейма . У меня сайт с фреймами, но человек может загрузить какой-то фрейм отдельно. Как подсунуть ему фреймсет? У объекта window есть свойства parent и top, которые ссылаются на содержащие его окна (top ссылается на окно самого верхнего уровня). Если страница загружена не во фреймсете, эти свойства ссылаются на само окно. В результате получаем что-то вроде
Все вышесказанное касается и страниц, подгружаемых в iframe. Как передать параметр в загружаемый документ и прочитать его там? Через строку запроса, как это происходит при передаче данных серверу методом GET. Можно написать
Для передачи нескольких параметров, к примеру так: file.html?x=1&y=2, можно предложить несложную функцию, которая, будучи записана в file.html, вернет значение переменной с указанным именем:
Можно записать в атрибут HREF тега <A> вызов кода JavaScript:
Если хочется, чтобы вызов события не привел к действию, например нажатие на ссылку не привело к переходу по ней, следует возвратить false, иначе возвратить true. Пример:
Можно, к примеру, сделать проверку правильности заполнения формы:
По поводу протокола javascript:
Почему у меня не получается впечатать в документ с помощью document.write SSI-инструкцию? Вопрос: Я пытаюсь впечатать в документ SSI-инструкцию такой строчкой:
Ответ: Дело в том, что SSI (Server Side Includes) исполняются на сервере. Т.е. когда сервер уже отдал документ клиентскому браузеру, то он (сервер) уже не властен над этим документом. И когда вы пытаетесь впечатать в документ SSI-инструкцию, ее уже некому исполнять. Как убрать оформление текущего окна? Никак. Если не считать различных "хакерских" трюков, работающих в отдельных браузерах на отдельных платформах. Как запретить выделение текста мышкой? MSIE:
Работа с textarea. Как переместить каретку? Как получить выделенный текст? Чистое javascript-решение возможно только в MSIE 4 и выше. Для манипуляций с выделенной областью существует объект TextRange. Пример:
Если просто написать
На Windows перевод строки - это два символа \r\n (коды 13 и 10), на Юниксах - один символ: \n, под Макинтош - \r. Учитывая все три варианта:
Если программе нужно что-то сделать позже, можно установить для этого таймаут:
Если интервал повтора всегда одинаковый, то следует воспользоваться функцией setInterval():
Функции setTimeout() и setInterval() возвращают число, которое является идентификатором созданного таймаута/интервала. Этот идентификатор можно использовать в функциях clearTimeout() и clearInterval() для отмены setTimeout() и setInterval() соответсвенно. Пример:
Символ $ в JavaScript является "буквой". Его можно использовать на равне в латинскими буквами в именах переменных, функций и т.п. Примеры:
По материалам Xpoint
38
|
19.07.2010, 18:55 | |
Ответы с готовыми решениями:
17
Чем определяется одинаковость урлов /page?FAQ и /page.php?FAQ =FAQ= FAQ FAQ по С++ |
не Администратор ^_^
|
|
05.08.2010, 01:22 | 2 |
Еще полезно почитать
http://www.tigir.com/javascript.htm
7
|
БТР - мой друг
333 / 277 / 47
Регистрация: 07.01.2010
Сообщений: 1,932
|
|
26.02.2011, 15:17 | 5 |
Можно писать $ перед переменной, если она - это объект-обертка какого-либо фреймворка.
0
|
19 / 19 / 5
Регистрация: 30.03.2011
Сообщений: 97
|
|
01.04.2011, 22:16 | 6 |
дайте название учебников для JavaScripts для начинающих
0
|
307 / 165 / 25
Регистрация: 07.02.2011
Сообщений: 319
|
|
02.04.2011, 01:52 | 7 |
Vynder, Список книг по JavaScript
11
|
Просто любитель
|
|
08.11.2011, 15:43 | 8 |
Как скомпилировать JavaScript в exe? Как защитить JavaScript код от просмотра?
- - - Часто возникает этот вопрос, решил, что в FAQ он будет уместен, чтобы ссылаться на него из других тем. 1. Создайте файл HTML с вашей разметкой и кодом. Смените его расширение на .hta. Теперь это настольное приложение, и выполняется в системе windows (да, это не кроссистемное решение) со всеми правами, которые даются настольному приложению. То есть, ни работа с реестром, ни работа с файловой системой (через ActiveX) не приведёт к выдаче вопросов безопасности пользователю. Кстати, здесь работает объект WScript, с помощью которого можно делать ещё более интересные вещи, чем те, которые возможно делать в браузере. Чуть детальнее, смотрите статьи по WSH и HTA в wikipedia. Ещё детальнее — google в помощь.Плюсы варианта:
Минусы:
Надеюсь, информация окажется полезной.
11
|
Просто любитель
|
|||||||||||
21.12.2011, 14:12 | 9 | ||||||||||
Как защитить код JavaScript от просмотра и изменения? (дополнение)
Столкнулся с очень жёстким обфускатором, который может оказаться кому-то полезен. Примеробфускации: До
_____ Обращаю ваше внимание, что второй вариант — валидный и работающий код JavaScript. Можете попробовать скопировать его в консоль. Тут бьютифайером не обойдёшься...
12
|
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
|
|||||||||||
17.06.2012, 11:41 | 10 | ||||||||||
Как запретить выделение текста мышкой?
Более полный вариант: Все это защита от бабушек закончивших бесплатные курсы.
Запретить меню по правой кнопке: Запретить меню по правой кнопке: Сам запрет мало что дает, есть горячие клавиши, НО если хотите вывести свое меню, то без этого запрета не обойтись.
6
|
Просто любитель
|
|
15.04.2013, 22:10 | 11 |
Как уменьшить количество ошибок в коде? Как сделать код профессиональнее?
Отличный ресурс по важным моментам на русском.Читать и помнить.
1
|
24.04.2013, 15:16 | 12 | ||||||||||
Если я не могу запретить пользователю просмотреть код страницы, то можно ли хоть как нибудь его например закодировать?
Да. Есть кодировщик который сделает исходник не читаемым: http://chulanchik.ucoz.com/news/2012-05-08-778 До:
1
|
2435 / 1114 / 312
Регистрация: 23.06.2011
Сообщений: 3,525
|
||||||
12.07.2013, 21:16 | 13 | |||||
События в браузере
Следует помнить, не все события имеются во всех браузерах, нужно проверять. Кликните здесь для просмотра всего текста
4
|
Заблокирован
|
|
07.08.2014, 01:03 | 14 |
Как скомпилировать JScript в exe, защитив его от просмотра и редактирования?
Вот наваял прожку Упаковщик BAT/CMD/JS/VBS в EXE "Script2Bin 1.0.0.0" Точнее говоря, даже не скомпилировать, а просто упаковать... И защита от просмотра унылая получается, через ResHacker все видно... Но быстро, легко (EXE весит от 7 КБ), интерфейс упаковщика по-русски и, конечно же, бесплатно. Добавлено через 3 минуты И вдогонку к предыдущему посту ссылка на хороший обфускатор (шифровщик) кода... Может и "баян" и 90% его уже знают и пользоваться. Но 10%-то все равно не знаю... http://javascriptobfuscator.com/ Совместимость со своим упаковщиком не тестировал. А вот и расшифровщик (тоже наверно "баян", но тоже не все знают) http://jsbeautifier.org/ Впрочем, после обфускатора помогает плохо. Скорее просто для форматирования кода, если он налеплен в 1 строку, ну или нет отступов...
1
|
Ренегат
|
||||||
04.08.2015, 23:54 | 15 | |||||
КАК ЗАПРЕТИТЬ ПРОСМОТР КОДА(ещё одно дополнение)
всё сводится к поговорке: "Кто ищет, тот всегда найдёт" Добавлено через 6 часов 6 минут кстати в сумме с запретом на контекстное меню, можно будет хорошенько потрепать нервы любителям посмотреть код)
0
|
Ренегат
|
||||||
17.08.2015, 23:18 | 16 | |||||
УДАЛЕНИЕ ДУБЛЕЙ ИЗ МАССИВА
аргумент - массив с дублями, причём любыми(объекты, строки, числа и тд и тп) выход - массив без дублей
0
|
Ренегат
|
|
18.08.2015, 11:02 | 18 |
Unick, ну я не помню, чтобы у меня было много знакомых любителей посмотреть код вообще, а из них пользуется маком только 1, так что это в любом случае спасает только от случайно нажавжих кнопку инструментов разраба
0
|
18.08.2015, 11:02 | |
18.08.2015, 11:02 | |
Помогаю со студенческими работами здесь
18
FAQ FAQ по Qt FAQ С++11 и С++14 FAQ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |