Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Безопасный Javascript, что это? 
V
    Опции темы
Knuckles
  Дата 12.10.2008, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 33
Регистрация: 8.3.2006

Репутация: нет
Всего: 2



Всем привет.
Мне как кандидату на работу дали тестовое задание. Звучит так:

Есть форма с набором инпутов, которые необходимо проверить перед отправкой, некоторые поля просто должны быть непустыми, а некоторые должны содержать email.
...
Особенности реализации:
Обработчик события должен должен быть один на всю форму. При создании функционала следует придерживаться "безопасного javascript" - сама html страница не должна содержать инлайнового javascript.

Я не совсем понял, что такое "безопасный javascript". Даже если скрипт находится в отдельном файле, в самом html должны быть привязки событий элементов ввода к функциям проверки, которые сами вообще-то являются скриптами. То есть если я пишу <input type="text" onkeypress="check()">, то значение атрибута onkeypress выполняется как скрипт. Уточнять у работодателя не хочется, чтобы не показаться полным нубом, да и времени нет (хотелось бы сделать задание сегодня).
Гугл на такой общий запрос дает конечно же не то, что нужно. Подскажите, что имелось ввиду. Заранее спасибо smile
PM   Вверх
bars80080
Дата 12.10.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Цитата(Knuckles @  12.10.2008,  09:15 Найти цитируемый пост)
что такое "безопасный javascript"

максимально удалённый от копания в нём чужих ручек, ибо полностью безопасного, конечно, достичь нельзя
PM MAIL WWW   Вверх
Knuckles
Дата 12.10.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 33
Регистрация: 8.3.2006

Репутация: нет
Всего: 2



Цитата(bars80080 @  12.10.2008,  09:27 Найти цитируемый пост)
максимально удалённый от копания в нём чужих ручек

А можно подробнее? И как это относится к inline Javascript?
PM   Вверх
skyboy
Дата 12.10.2008, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Knuckles, приходит в голову только добавка обраобтчиков через addEventListener/attachEvent. но если код "привязывания" обработчика к форме будет находиться в скрипте, подключенном через <script src="...">, то как определить, что тело уже загружено? можно, в принципе, поставить setInterval, чтоб проверяло: если в DOM-дереве появился элемент с заранее известным id(форма), то цеплять обработчик. если не появился - ждать дальше. А может, скрипт в head'e выполнится только после загрузки страницы... я не уверен, надо проверять.
PM MAIL   Вверх
bars80080
Дата 12.10.2008, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Цитата(Knuckles @  12.10.2008,  09:31 Найти цитируемый пост)
 как это относится к inline Javascript? 

а фиг его знает, может это сильно проффессионально заданный вопрос, но для меня inline - это расположение элементов в строчку. никогда с js не связывал

по-моему, надо просто написать нормальный простой обработчик, затем может пропустить через некий оптимизатор, дабы усложнить читаемость кода и засунуть в отдельный файл. потом можно накидать обманок (но, имхо, это уже и есть нубство)
далле следует рассказать работодателю, что мол, javascript на 100% безопасным не сделаешь, и по любому решающую проверку нужно делать на сервере, а js использовать только в качестве предупредительной системы, чтобы обычный пользователь чего-нибудь не забыл


PM MAIL WWW   Вверх
Knuckles
Дата 12.10.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 33
Регистрация: 8.3.2006

Репутация: нет
Всего: 2



skyboy, да я тоже думал над этим. В принципе можно повесить функцию привязки обработчиков на события DOMContentLoaded (для Mozilla), onload с аттрибутом defer (для IE)  и без defer  для остальных. В общем, я надеюсь, это именно то, что от меня ожидается smile

Добавлено через 6 минут и 42 секунды
bars80080, насколько я понимаю, inline javascript это встраивание скрипта прямо в код html. Считается дурным тоном по некоторым причинам.
В любом случае, всем спасибо за мысли и предложения.
PM   Вверх
skyboy
Дата 12.10.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(Knuckles @  12.10.2008,  09:23 Найти цитируемый пост)
Считается дурным тоном по некоторым причинам.

в любом случае, сильно упрощает отладку. а вопросы безопасности решать на стороне клиента - вообще странно. на стороне клиента могут быть механизмы, для упрощения работы пользователя, да. но шифровать валидацию формы и игнорировать проверку на стоорне сервера - как-то по-детски.
PM MAIL   Вверх
Knuckles
Дата 12.10.2008, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 33
Регистрация: 8.3.2006

Репутация: нет
Всего: 2



Цитата(skyboy @  12.10.2008,  16:01 Найти цитируемый пост)
вопросы безопасности решать на стороне клиента - вообще странно. на стороне клиента могут быть механизмы, для упрощения работы пользователя, да. но шифровать валидацию формы и игнорировать проверку на стоорне сервера - как-то по-детски. 

Никто и не спорит. Проверка ввода на стороне пользователя снижает нагрузку на сервер при частом вводе неверных данных. При количестве пользователей в пару десятков тысач это заметно. Заодно клиенту не нужно ждать ответа сервера с валидацией и перезагружать страницу. Проверка на сервере делается в любом случае.
PM   Вверх
nerezus
Дата 16.11.2008, 11:44 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



[humour]
Безопасный JS - это когда он используется нен в браузере IE
[/humour]


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
bars80080
Дата 16.11.2008, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



Цитата(nerezus @  16.11.2008,  10:44 Найти цитируемый пост)
Безопасный JS - это когда он используется нен в браузере IE

на шутку даже близко не тянет, учитывая установленный в базовой версии ФФ инспектор DOM, который позволяет править любые значения страницы, не оглядываясь на разработчиков
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0965 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.