Автор Тема: Защита скрипта от «левых» данных  (Прочитано 6509 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Защита скрипта от «левых» данных
« : 13 Февраля 2002, 01:57:49 »
Есть следующая проблема:
Есть скрипт, допустим гостевая книга. В нее пользователи POST’ом отправляют сообщения. Но при этом некоторые начинают шкодить и лить циклом левые данные по максимально возможной длине. Реферал проверяется. Но, понятноe дело, его и все остальное можно самому сгенерировать.

Вопрос: как остановить этот беспредел или, другими словами, как проверять, послал данные браузер или скрипт?

Оффлайн Britva

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1660
  • +0/-0
  • 0
    • Просмотр профиля
    • http://eugeny.com
может поможет
« Ответ #1 : 13 Февраля 2002, 02:05:47 »
Евгений aka Razor,

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Защита скрипта от «левых» данных
« Ответ #2 : 13 Февраля 2002, 02:52:51 »
это я давно прочел, иначе бы совсем маничка была :)
А как кроме этого?
Неужели никто не сталкивался с этой проблемой?

Оффлайн Lion

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 474
  • +0/-0
  • 0
    • Просмотр профиля
Защита скрипта от «левых» данных
« Ответ #3 : 13 Февраля 2002, 08:07:25 »
Ну не разрешай с одного ип часто кидать что то в форму.
А проверить, броузер или скрипт послал, думаю никак нельзя.

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита скрипта от «левых» данных
« Ответ #4 : 13 Февраля 2002, 22:40:15 »
HTTP запрос в скрипте можно смоделировать точно такой же, как и в броузере. Нужно проверять все данные, длину, символы и т.п.
с уважением,
магистр белой магии.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Защита скрипта от «левых» данных
« Ответ #5 : 14 Февраля 2002, 13:12:45 »
Цитировать
Нужно проверять все данные, длину, символы и т.п.
Простая проверка не защитит от такой ситуации, как описал Foshvad. Я бы ему посоветовал почитать на detauls.phpclub.net статьи про авторизацию. Там была описана защита от подбора пароля. Думаю похожим алгоритмом можно и тут воспользоваться. Хотя наиболее простое - это то что Lion предложил:
Цитировать
Ну не разрешай с одного ип часто кидать что то в форму
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн NFalse

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.coders.ru
Защита скрипта от «левых» данных
« Ответ #6 : 14 Февраля 2002, 14:59:14 »
Цитировать
А проверить, броузер или скрипт послал, думаю никак нельзя.

Ну почему нельзя? Можно юзать кукки (запарка...ненавижу)... А можно поступать хитро и ловить переменные $HTTP_USER_AGENT, $SCRIPT_FILENAME, REQUEST_URI...
Надеюсь идея понятна...
я люблю людей, я люблю когда их нет. я бы вышел на балкон и разрядил бы пистолет...

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Защита скрипта от «левых» данных
« Ответ #7 : 14 Февраля 2002, 16:09:14 »
Цитировать

Ну почему нельзя? Можно юзать кукки (запарка...ненавижу)... А можно поступать хитро и ловить переменные $HTTP_USER_AGENT, $SCRIPT_FILENAME, REQUEST_URI...
Надеюсь идея понятна...
Скриптом и куки можно подделать и переменные
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита скрипта от «левых» данных
« Ответ #8 : 14 Февраля 2002, 17:27:36 »
Цитировать
Ну почему нельзя? Можно юзать кукки (запарка...ненавижу)... А можно поступать хитро и ловить переменные $HTTP_USER_AGENT, $SCRIPT_FILENAME, REQUEST_URI...
Надеюсь идея понятна...


Кто мешает полностью повторить броузер? ;)


Цитировать
Хотя наиболее простое - это то что Lion предложил:
Ну не разрешай с одного ип часто кидать что то в форму.


И это тоже. ИМХО, необходимо делать все, что может предотвратить нападения. Т.е. и установка временного интервала по ip, и проверка данных не мешает.
Тем более, если данные передаются в запросы sql.
с уважением,
магистр белой магии.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
хм....
« Ответ #9 : 16 Февраля 2002, 00:54:15 »
Честно, все о чем посоветовали я в общем-то знал, но наивно надеялся, что без этого можно как-то обойтись. Браузер с куками действительно лёгко эмулируют, а когда кто-то приходит с провадерского прокси - начинают сыпаться письма от остальных пользователей. Да и количество выборок для проверки всего этого немаленькое.
Сейчас приходится при определенных условиях выдавать сообщение о том, что его сообщение появится после проверки модератором. Проблема в том, что пользователю не объяснишь из-за чего все это происходит.

Оффлайн Lion

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 474
  • +0/-0
  • 0
    • Просмотр профиля
А может...
« Ответ #10 : 16 Февраля 2002, 01:11:13 »
используя куки сделать что бы юзер сразу видел свое сообщение, а другие посетители только после проверки админом ? А если куки выключены, тогда уже говорить юзеру что его сообщение будет проверено перед опубликованием.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Защита скрипта от «левых» данных
« Ответ #11 : 16 Февраля 2002, 17:19:57 »
2Lion: а вот это уже идея. Спасибо за совет, попробую!

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Защита скрипта от «левых» данных
« Ответ #12 : 17 Февраля 2002, 01:53:15 »
Хм... странно получается... а если юзер, к примеру, сразу хочет похвалиться кому-то, что он где-то что-то написал?
Если размещение идет через проверку админом, то нужно сразу и говорить ему, что пока не проверим, не увидишь!
(только мое имхо)
с уважением,
магистр белой магии.

Оффлайн Foshvad

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 0
    • Просмотр профиля
Защита скрипта от «левых» данных
« Ответ #13 : 17 Февраля 2002, 11:03:54 »
2 Dm: через проверку админом будет идти только в том случае, если в течении, скажем 30 секунд было обращение с данного ip, или если что-нить нехорошее было найдено в сообщении. В остальных случаях можно публиковать сразу.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Защита скрипта от «левых» данных
« Ответ #14 : 19 Февраля 2002, 14:47:33 »
Я бы просто заблокировал мессаги с одного IP на 30 секунд + искал текст отправленный спамером в уже имеющихся за один один день +  не использовал бы куки
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28