закрытие браузера после неудачной попытки входа в систему 3 раза - PullRequest
2 голосов
/ 13 октября 2009

после неудачной попытки входа в систему 3 раза (неверный пароль, имя пользователя), я хочу закрыть браузер / окно / вкладку. Как я могу сделать это в JavaScript или PHP? а также можете ли вы дать мне несколько советов о том, что я могу сделать с моей системой, когда пользователь не сможет войти в систему 3 раза. спасибо.

Ответы [ 7 ]

20 голосов
/ 13 октября 2009

Извините, это немного нестандартно, но: Не делайте этого. Есть веские причины, по которым такие вещи, как window.close(), не будут делать это без приглашения. Я допускаю, что есть мыслимые случаи, когда это может быть хорошим подходом, но, обходя подобные меры контроля пользователя, вы, вероятно, в конечном итоге выстрелите себе в ногу, даже если цель хорошая.

Несколько вариантов того, как может происходить эта легкая стрельба:

  • Вы думаете, что это хорошая идея сделать это в вашем случае, но, к сожалению, пользователи так не думают. Даже если вы были уверены, что это будет лучшая юзабилити вещь, о которой кто-либо когда-либо думал.
  • Взлом включает некоторые вещи, которые где-то ломают другие вещи. В другом браузере. В более старой версии. С определенным плагином браузера. С некоторыми необычными настройками пользователя.
  • Будущая версия браузера делает хакеррон неудачным, и вы каким-то образом создали свою модель взаимодействия, чтобы зависеть от хакерства, даже если вы были уверены, что сделали альтернативный подход на всякий случай ... только вы этого не сделали, в это единственное место, потому что вы сами использовали взлом и не заметили, что ожидаете, что оно всегда сработает.
  • Взлом работает нормально ... но только когда вы смотрите. В некоторых довольно нормальных условиях, которые не должны влиять на это, это внезапно ломает что-то еще, и вы заканчиваете тем, что тратили дни на отладку некоторой странной дополнительной проблемы, которая в конечном счете вызвана взломом. Я имею в виду, что взлом не должен был вызвать что-то подобное. Это действительно не должно. Но это так.
5 голосов
/ 13 октября 2009

Я согласен с Илари Каджасте, когда он говорит: «Не делай этого». Последнее, что хочет пользователь, - это непредвиденное поведение. Я никогда не сталкивался с веб-сайтом, который закрывает окно после неверных попыток входа в систему, поэтому он почти наверняка запутает ваших пользователей. Во-вторых, он уничтожит любую историю, которую пользователь имеет в своей кнопке «Назад», что расстроит некоторых пользователей.
Когда вы получаете несколько неудачных входов в систему, вы можете запретить им входить в систему в течение определенного периода времени (например, 10 минут). Вы можете сделать это, сохранив время их третьего неверного входа в вашу базу данных и проверив при последующих входах в систему, сколько времени прошло с момента их последней попытки. Если это ниже вашего порога, вы даже не проверяете пароль. Просто убедитесь, что вы объяснили, что кто-то не может войти в систему в течение 10 минут после 3 неудачных входов в систему

4 голосов
/ 13 октября 2009

В JavaScript вы можете позвонить ...

window.close();

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

Обойти эти подсказки невозможно.

3 голосов
/ 13 октября 2009

Просто временно заблокируйте учетную запись пользователя на стороне сервера на n минут.

1 голос
/ 28 октября 2009
  1. Защита от дальнейших попыток входа в систему на стороне сервера.
  2. Либо перенаправьте на страницу с ошибкой, как упоминалось в drorhan, либо отобразите сообщение типа "извините, слишком много попыток входа в систему, повторите попытку через час" на странице входа в систему вместо полей ввода логина / пароля.

Как говорит нам SEO, вы действительно никогда не захотите заставить пользователя отойти от вашего сайта, в SEO, который называется потерянным возвратом инвестиций, что противоположно тому, что вы делаете для SEO. : p Перенаправление на другую страницу на вашем собственном сайте намного предпочтительнее.

1 голос
/ 13 октября 2009

Если вы собираетесь заблокировать учетную запись пользователя, не делайте этого после 3 попыток.
У меня так много паролей, что я должен попробовать хотя бы 5 раз на некоторых веб-сайтах, прежде чем я получу правильный ....

1 голос
/ 13 октября 2009

Вы можете перенаправить страницу на другую страницу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...