单击链接应该会话到期

时间:2011-02-22 08:51:51

标签: php session

我有<a href="some link">Click</a> .之类的链接现在,点击此链接会使会话过期......使用session_destroy().

3 个答案:

答案 0 :(得分:4)

强烈建议避免此类操作以避免CSRF攻击。

例如,您将创建一个指向http://site.come/logout的链接 然后,我抓住网址并制作一个图像,其源设置为上述网址。

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

现在,在任何其他网页上,当您的网站用户接触到此图片时,他将自动从您的系统中退出。

我建议使用POST。

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

<?php
    if(isset($_POST['logout'])) {
        session_destroy(); 
    }
?>

答案 1 :(得分:2)

<!--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();
?>

答案 2 :(得分:-1)

请尝试以下代码。

假设您有页session_expr.php

<?php

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

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

通过此操作,您可以点击链接将expire GET方法发送到同一页面。在expireGET variable之后,PHP代码将使用session_destroy()函数执行。