При нажатии на ссылку должен истечь сеанс - PullRequest
0 голосов
/ 22 февраля 2011

У меня есть ссылка типа <a href="some link">Click</a> . Теперь, при нажатии на эту ссылку должен истечь сеанс .. то есть, используя session_destroy().

Ответы [ 3 ]

4 голосов
/ 22 февраля 2011

Настоятельно рекомендуется избегать операций такого типа во избежание CSRF-атак.

Например, вы создадите ссылку, которая указывает на http://site.come/logout Затем я беру URL и создаю изображение сего источник установлен на упомянутый URL.

<img src="http://site.come/logout"/>

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

Я бы предложил использовать POST.

<input type="submit" name="logout" value="Logout"/>

<?php
    if(isset($_POST['logout'])) {
        session_destroy(); 
    }
?>
2 голосов
/ 24 октября 2011
<!--in the index.php page-->

<a href="logout.php">Logout</a>


<!--in the logout.php page-->

<?php
session_start(); //to ensure you are using same session
session_destroy(); //destroy the session
header("location:http://localhost/moon/index.php"); 
//to redirect back to "index.php" after logging out
exit();
?>
0 голосов
/ 22 февраля 2011

Попробуйте следующий код.

Предположим, у вас есть страница session_expr.php

<?php

if(isset($_GET['expire'])){
session_start();
session_destroy();
}

?>
<a href="session_expr.php?expire">Destroy session</a>

При этом вы отправляете expire методом GET на ту же страницу, нажав на ссылку. Если у вас есть expire в GET variable, код PHP будет выполняться с функцией session_destroy().

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