Ограничение пользователя входит в попытки в PHP

Вы используете !important, чтобы быть более конкретным:

div {
  border: 1px solid red;
}
.intro-description p {
   margin: 0 !important;
}

Test (without margin)

Test (with margin)

или вы можете использовать более конкретные Правило CSS вместо !important (рекомендуется):

[other elements here] div.intro-description p {
    margin: 0;
}

Вы можете найти больше информации о специфичности здесь: https://developer.mozilla.org/en-US/docs / Web / CSS / Specificity

blockquote>

6
задан Kate Gregory 26 December 2012 в 04:32
поделиться

7 ответов

Разъяснение Это - завершение к другим ответам. Используя хорошую реализованную капчу вместе с использованием механизма анти"в лоб" сессии, например.
Корреспондент отметил это как принятое предположение, что капчи нечитабельны машинами (она почти права), и таким образом, это понимает отрицательные мысли, потому что люди думают, что это не полный ответ, и они правы.


Также использование хорошей реализованной КАПЧИ могло быть альтернативным путем к enpower Ваша безопасность приложений против атак перебором. существует большое разнообразие поставщиков капчи, доступных бесплатно, давайте попробуем простой способ, если Вы спешите. Также полагайте, что существуют люди, отсюда говорящие что, "о, нет! эта вещь капчи не достаточно безопасна, и они иногда правы!".

"Для тех из Вас, кто не знает, КАПЧА является программой, которая может сказать, является ли ее пользователь человеком или другим компьютером. Они - те небольшие изображения искаженного текста, который Вы переводите, когда Вы регистрируетесь в Gmail или оставляете комментарий к чьему-то блогу. Их цель состоит в том, чтобы удостовериться, что кто-то не использует компьютер для регистрации в системе в миллионах учетных записей онлайн автоматически, или.." касательно.

2
ответ дан 8 December 2019 в 17:27
поделиться

Я видел творческий подход к этому однажды...

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

attempt | lockout time
======================
   1    |     2s
   2    |     4s
   3    |     8s
   4    |    16s
   5    |    32s
   6    |    64s
   7    |   128s
   8    |   256s
   9    |   512s
  10    |  1024s

В теории это позволяет пользователю сделать ошибку или два, но как только это, кажется, становится попыткой "взламывания", хакер заблокирован для дольше и более длительные периоды времени.

Я (еще) не использовал это сам, но концептуально мне вполне нравится идея. Конечно, на успешном входе в систему, счетчик сбрасывается.

7
ответ дан 8 December 2019 в 17:27
поделиться

Ограничение того, сколько попыток, которые будут сделаны на веб-сайте, состоит в том, чтобы предотвратить грубую силу (автоматизировало), нападает на Ваш сайт. Если Вы не ограничиваете эти попытки, хакер может настроить сценарий, чтобы продолжать предполагать пароли, пока он не находит один, и это может повлиять на доступность Вашего веб-сервера.

Как правило, можно хотеть привести к таймауту пользователя (10 минут, как Вы упомянули) после 3 попыток, и заблокируйте их после 6 или 9 последовательных повторных попыток, вынудив пользователя связаться с Вами для разблокирования их учетной записи. Это помещается в место, потому что кто-то может изменить их сценарии для корректировки тайм-аута.

2
ответ дан 8 December 2019 в 17:27
поделиться

Для моих собственных проектов я записал обобщенную 'floodcontrol' библиотеку, которая обрабатывает этот вид вещи.

Это позволяет мне указывать, сколько попыток может быть предпринято за X количества времени. Это допускает определенное число 'льготных' попыток в скором времени, так, чтобы только действительно необычное поведение было поймано.

Я записываю в базе данных несколько вещей:

  • IP-адрес (или первые 24 бита из него)
  • Действие, которое было предпринято (т.е. 'входят в систему', 'ищите', 'комментарий'),
  • Время попытки
  • Количество попыток (делают попытку счетчика),

Для каждой попытки, предпринятой, я запрашиваю против частичного IP-адреса и действия, и если предыдущая была предпринята попытка в определенном окне времени затем, я увеличиваю счетчик попытки для той попытки. Если счетчик попытки превышает количество льготных попыток, позволенных затем, я проверяю, была ли последняя попытка в течение X секунд после теперь и если так, возвратите false - поэтому, действие будет заблокировано (и пользователю скажут ожидать X секунд прежде, чем попробовать еще раз). Если счетчик попытки ниже количества льготных попыток затем, я возвращаю true и позволяю ему скользить.

Если человек с тем же IP приедет позже, то предыдущее количество попытки не будет выбрано, потому что это будет слишком длинно назад.

1
ответ дан 8 December 2019 в 17:27
поделиться

Если пользователи могут установить свои собственные пароли, некоторый бот/ребенок попытается войти в систему со списком общих паролей и успешно выполниться. И если они не будут знать пользователей, то они попробуют общие названия как администратор, simon, rico, и т.д.

Это не помогает просто отметить пользователя на сессии, поскольку они могут просто удалить cookie или запросить параметрический усилитель на их конце. У Вас должно быть количество неудавшихся попыток входа в систему и для IP и для имени для входа в систему. Возможно, будьте более прощающими для IP, поскольку это может быть общим для многие пользователи.

2
ответ дан 8 December 2019 в 17:27
поделиться

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

0
ответ дан 8 December 2019 в 17:27
поделиться

Я считаю, что помещение счетчика 'неудачных попыток' в DB было бы самым безопасным и самым легким способом пойти. Тем путем пользователь не может обойти его (путем отключения куки). Сброс на успешном входе в систему, конечно.

0
ответ дан 8 December 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: