2012-06-09 2 views
0

Когда пользователь входит в систему, соответственно генерируется идентификатор сеанса. На странице есть ссылка «Выход». При нажатии ссылки вызывается метод jquery ajax для выполнения php-файла, который просто отключает переменную идентификатора сеанса.jquery ajax logout security

Если какой-либо пользователь использует Firebug или любой такой инструмент для просмотра адреса входящего файла, то он/она может просто поместить адрес файла в адресную строку и нажать клавишу «Enter», чтобы выполнить файл php, который будет, следовательно, регистрировать пользователя, которого я не хочу.

Как предотвратить пользователя от этого? Http_referrer или любая такая вещь?

Язык сценариев - это php.

+2

Таким образом, человек баржи на чужой компьютер, запускает консоль NET Firebug, начинает копать ссылки logout.php и начинает стучать на клавиши ввода? У меня есть это право? И что вы имеете в виду (практически, покажите нам) по «адресу в имени файла»? 'Logout.php? SessionID = blahblah'? –

+0

Пользователь может быть зарегистрированным пользователем. –

+0

Ну. Я собираюсь выйти на конечность здесь и сказать, что у вас, вероятно, нет ничего, что могло бы волноваться, и не должно допустить, чтобы это дошло ... Прежде чем тратить слишком много времени на это. –

ответ

0

У вас может быть сообщение AJAX POST с переменной на страницу PHP, которую проверяет страница PHP, прежде чем регистрировать пользователя.

Если вам необходимо перенаправить на домашнюю страницу после выхода из системы, сделайте ссылку на страницу выхода, затем используйте PHP для отправки header("Location: home.php");. У этого есть дополнительный бонус, который все еще работает, даже если JavaScript отключен.

+0

еще можно увидеть jQuery/javascript ajax-код и сделать скрипт с этой переменной, чтобы вывести пользователя из системы. На самом деле есть ли лучший способ? –

+0

Просто у вас есть ссылка на страницу выхода, затем используйте php, чтобы перенаправить их на домашнюю страницу. Кроме того, JavaScript не требуется. (Я немного изменил свой ответ.) Если вы спрашиваете, есть ли лучший способ использовать вызов AJAX, вы можете использовать JS для установки cookie непосредственно перед вызовом на PHP-страницу, а PHP ищет файл cookie. –

1

Я думаю, вы боитесь, что кто-то другой отправит вашу ссылку для выхода на сайт некоторым пользователям. Чтобы убедиться, что ваш пользователь действительно хочет выйти из системы, вам может потребоваться переменная post, которая должна быть отправлена ​​на страницу выхода. Конечно, переменная post должна быть уникальной и секретной величиной, например. случайный хэш, который генерируется для каждого сеанса.