JQuery - вопрос по безопасности

12
djdiplomat
На сайте с 05.08.2009
Offline
136
1042

Дорогие форумчане!

Помогите плиз - чет в интернете толкового мануала не нашел.

Вот написал я значит обработчик формы на JQuery. (В форме одно поле для ввода текста и кнопка).

Собственно вопрос такой - как в JQuery сделать пред-обработку от инъекций всяких? Может где есть уже готовые решения?

Вот когда я писал скрипт на пхп я писал так:

$start = strip_tags ($start); // удаляем php и html теги

$start = preg_replace('#<script[^>]*>.*?</script>#is', '', $start); // удаляем скрипты с корнем.
$start = trim($start); // подрезаем пробел

Мне нужен аналог данного кода на JQuery + может еще что посоветуете?

P
На сайте с 10.03.2008
Offline
168
#1

На сервер можно послать данные, минуя jquery и вообще браузер (и даже windows). Поэтому htmlspecialchars+mysql_escape_string - только на сервере.

siv1987
На сайте с 02.04.2009
Offline
427
#2
// удаляем скрипты с корнем.

Разве strip_tags не удаляет скрипты с корнем?

djdiplomat:
Мне нужен аналог данного кода на JQuery + может еще что посоветуете?

text = text.replace(/<[^>]+>/g, '');

text = text.replace(/<script[^>]*>.*?<\/script>/g, '');

djdiplomat
На сайте с 05.08.2009
Offline
136
#3

Спасибо огромное!

А не подскажете может какой хороший мануал по безопасному написанию скриптов на js? А то задачи разные бывают...

Или может книгу какую...

siv1987
На сайте с 02.04.2009
Offline
427
#4
djdiplomat:
А не подскажете может какой хороший мануал по безопасному написанию скриптов на js?

что мешает использовать те же принципы которые используете для обработки текста на уровне php? "безопасное написание скриптов" конечно звучит... На уровне js, можно сделать предварительную фильтрацию/обработку, но это не избавляет от "безопасное написание" на уровне php.

bay_ebook
На сайте с 28.05.2010
Offline
111
#5
djdiplomat:
Спасибо огромное!

А не подскажете может какой хороший мануал по безопасному написанию скриптов на js? А то задачи разные бывают...
Или может книгу какую...

скрипты js исполняются на стороне юзера, и посему любой юзер может туда везть и что-то подкрутить. Безопасность может быть только на стороне сервера, доверять js нельзя.

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
djdiplomat
На сайте с 05.08.2009
Offline
136
#6
bay_ebook:
скрипты js исполняются на стороне юзера, и посему любой юзер может туда везть и что-то подкрутить. Безопасность может быть только на стороне сервера, доверять js нельзя.

А вот кстати еще хотел спросит - а можно ли как-то скрыть js код? (ну вот код пхп от юзера скрыть можно, чтобы не слямзили. А код js можно как-то спрятать?). Т.е сделать так, чтобы этот код нельзя было просмотреть в исходном коде хотя бы. (только сразу говорю - блокировка правого клика не катит).

siv1987
На сайте с 02.04.2009
Offline
427
#7

Нельзя. Что исполняется на стороне клиента клиент может прочитать. Можно только затруднить его чтения - обфусцировать, сделать нечитабельным и тд.

djdiplomat
На сайте с 05.08.2009
Offline
136
#8

1. А чем обфусцировать от "ничитабельным" отличается?

2. Т.е на js лучше скрипты с обработкой форм (даже без запроса к бд) не делать?

siv1987
На сайте с 02.04.2009
Offline
427
#9
djdiplomat:
А чем обфусцировать от "ничитабельным" отличается?

По сути одно и тоже. Не читабельным его можно сделать руками.

djdiplomat:
Т.е на js лучше скрипты с обработкой форм (даже без запроса к бд) не делать?

Делайте, но на сервере в любом случае данные надо проверять.

dkameleon
На сайте с 09.12.2005
Offline
386
#10
djdiplomat:
1. А чем обфусцировать от "ничитабельным" отличается?

это желание проходит с набором опыта и квалификации.

да и кому нафиг нужен ваш скрипт чата или корзины?

уникальность и ценность этого скрипта на самом деле существует только для вас.

для других же это чужой код, отсутствие поддержки, отсутствие документации, куча головняка с интеграцией и чужими багами.

djdiplomat:
2. Т.е на js лучше скрипты с обработкой форм (даже без запроса к бд) не делать?

правильный ответ так же приходит с набором квалификации.

сейчас же правильный ответ: зависит от конкретной задачи.

Дизайн интерьера (http://balabukha.com/)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий