Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: сохранение на сайте картинки через base64, все ок или нужно что-то поправить?
Форумы портала PHP.SU » » HTTP и PHP » сохранение на сайте картинки через base64, все ок или нужно что-то поправить?

Страниц (1): [1]
 

1. Esigns - 29 Мая, 2015 - 13:07:16 - перейти к сообщению
На странице сайта есть canvas, на котором пользователь выполняет некоторые работы с графикой и жмет "ОК". После нажатия на кнопку ок, base64 картинки canvas идет у форму, которая отправляется.

Собственно сейчас подумал а что если кто-то захочет "пошутить" и начнет отправлять по адресу формы base64-картинки пока не заполнит диск сервера, или не нагрузит его так что он и чихнуть не сможет?

Можно ли как-то обезопасить себя от подобных действий, без ущерба для юзабилити?
2. pantela - 29 Мая, 2015 - 13:42:22 - перейти к сообщению
А если капчу прикрутить или ограничение/таймер по времени Растерялся
3. Esigns - 29 Мая, 2015 - 13:54:52 - перейти к сообщению
Капча не удобна для пользователя, заказчик не захочет, только мозги зря будет вынимать "придумай что-то". Лучше уже ничего не говорить Улыбка

Как насчет блокировки работы ип прокси(из этого, или другого списка http://webanetlabs.net/publ/24-1-0-752) + ограничение на привязку по ип. Не более 30 продуктов/час с 1 ип?
4. Ts.Saltan - 29 Мая, 2015 - 18:56:36 - перейти к сообщению
Esigns пишет:
Как насчет блокировки работы ип прокси(из этого, или другого списка

В том списке меньше 1тыс. строк. Это ничто.

Esigns пишет:
Можно ли как-то обезопасить себя от подобных действий, без ущерба для юзабилити?


Вариант 1
Можно добавить к форме скрытое поле с рандомным значением, которое хранить в сессии, а при отправке формы сравнивать полученное значение из формы со значением в сессии.
Просто, но слабо действенно. Примитивный парсер обойдёт это на ура.


Вариант 2
Аналогично первому, только с примесью и обфускацией js.
т.е. скрытое поле (или кука) устанавливается js-скриптом, который генерируется и обфусцируется php.
Тут уже нужен будет продвинутый парсер. Ну или правильно настроенный на спам браузер.

Вариант 3
CSS, генерируемый скриптом. Пусть будет создаваться несколько кнопок/форм. В стилях прописана видимость только одной из них (правильной кнопке). Пользователь не сможет нажать на какую-то другую, т.к. их не видно (это прописано в сгенерированных стилях).
С точки зрения спам-программы будет относительно трудно определить, где та самая верная кнопка или форма.
Опять же, обходится продвинутыми парсерами и браузерами.

Самый действенный вариант - капча, причём не просто картинка с текстом, а что-нибудь интерактивное.

Esigns пишет:
нагрузит его так что он и чихнуть не сможет

Ну а от DOS средствами PHP не спастись
5. Esigns - 29 Мая, 2015 - 21:31:43 - перейти к сообщению
Спасибо)
6. dcc0 - 29 Мая, 2015 - 21:45:08 - перейти к сообщению
netfilter/iptables

 

Powered by ExBB FM 1.0 RC1