![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| GePo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 30.3.2003 Где: Москва Репутация: 1 Всего: 3 |
Что-то я никак не пойму, а как сделать:
Есть форма добавления записи(например гостевой). Юзер начал очень быстро жать на кнопку submit и добавляется очень много записей. Как от этого защититься? --------------------
|
|||
|
||||
| Гость_RaZoR |
|
|||
|
Unregistered |
почитай тут.
|
|||
|
||||
| skalex |
|
|||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
Это можно предотвратить при помощи JavaScript!
|
|||
|
||||
| GePo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 166 Регистрация: 30.3.2003 Где: Москва Репутация: 1 Всего: 3 |
Mace
Как? Блокировка по времени(это в php) по-моему не самая лучшая - я могу на кнопку жать и больше 5 секунд. --------------------
|
|||
|
||||
| skalex |
|
|||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
Один из вариантов - поставить на submit формы вызов JavaScript-функции, которая делает кнопку недоступной.
Такой эффект можно наблюдать прямо на этом форуме - при добавлени сообщения кнопка "Добавить" становится disabled! Есть и другие варианты... Это сообщение отредактировал(а) Mace - 31.5.2004, 08:28 |
|||
|
||||
| IZ@TOP |
|
||||||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Проще делать блокировку для юзера на какое то время после добавления первой записи. Устанавливаешь куку
Самый по моему мнению простейший способ. Добавлено @ 10:15
Это уже в другой раздел форума -------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
||||||
|
|||||||
| Гость_RaZoR |
|
|||
|
Unregistered |
а если куки отключены?
|
|||
|
||||
| IZ@TOP |
|
|||
![]() Панда-бир! ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4795 Регистрация: 3.2.2003 Где: Бамбуковый лес Репутация: 44 Всего: 73 |
Если отключены куки, пиши в бд что по ip такому то, было добавление данных в такое то время. И ессно делаешь выборку, делаешь в таблице поле id в котором хранится ip, и поле lastTime, потом просто делаешь выборку по REMOTE_ADDR, если запись найдена, дальше действуем по тому же сценарию.
-------------------- Один из розовых плюшевых-всадников апокалипсиса... очень злой... Семь кругов ада для новых элементов языка Мои разрозненные мысли |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: 7 Всего: 32 |
Была у меня мысль... Слать Connection: Keep-Alive, потом через функции апача отслеживать сокет и базировать ограничения на этом.
ИМХО технически это должно быть реализуемо, только времени покопаться в мануалах и узнать, как именно, не нашлось. -------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| skalex |
|
|||
|
Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: 8 Всего: 23 |
IZ@TOP
Слишком как то сложно ты предлагаешь это делать... |
|||
|
||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
Я делал такой класс от накручивания голосования... там и куки и реферер и айпи.
-------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
Master
А зачем класс, если с этим справится простая процедура? |
|||
|
||||
| Master |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1530 Регистрация: 13.5.2003 Где: Mother Russia Репутация: 8 Всего: 10 |
Secandr
так по моему проще и красивее. все-таки эти вещи для одной цели предназначены, вот я и объединил их. Дальше смотриш свойства класса и делаеш выводы в скрипте. -------------------- Вавилон, Вавилон Что ты построил, что разрушил? Вавилон, Вавилон Плавятся души дьявольским огнем. |
|||
|
||||
| Secandr |
|
|||
|
Связист ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4043 Регистрация: 3.8.2003 Где: Russia, Volgograd Репутация: 5 Всего: 39 |
а насколько такой класс замедляет работу скрипта по сравнению с функциями?
|
|||
|
||||
| Гость_RaZoR |
|
|||
|
Unregistered |
можно сделать поиск по базе(хотя бы по последним сообщениям) на наличие уже такого.. ну или просто с последним сравнивать.. типа добавляется что-то и сравнивается с последней(или несколькими) записями в базе..
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |