Как мне работать с пользователями, очищающими сеансы, когда я использую сеансы для ограничения доступа к страницам? - PullRequest
1 голос
/ 04 февраля 2010

У меня есть страница, к которой я ограничиваю доступ, проверяя, установлена ​​ли определенная переменная сеанса.Но опять же, пользователи могут очистить эту переменную сеанса и теперь имеют доступ к странице.

Что я могу сделать, чтобы предотвратить это?Я использую php

Ответы [ 4 ]

6 голосов
/ 04 февраля 2010

... вы устанавливаете переменную сеанса для людей, которым разрешено иметь доступ к странице, вместо наоборот?

4 голосов
/ 04 февраля 2010

Запретить все, разрешить некоторые.

Предположим, что люди без сеанса не допускаются.

3 голосов
/ 04 февраля 2010

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

0 голосов
/ 04 февраля 2010

В заголовке PHP на TOP различных страниц, к которым вы хотите ограничить доступ, вы должны поместить что-то вроде следующего:

<?php
   session_start(); // start the session
   if (!isset($_SESSION['allowaccess']) || ($_SESSION['allowaccess'] == FALSE)) {
      // if the access token is not present or the token is false, then...
      echo "Access denied."
      exit();
   }
?>

<h1>Super Seekrit Data</h1>

<p>yada yada yada</p>

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

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