【问题标题】:Refreshing logout the user from the page刷新从页面注销用户
【发布时间】:2013-06-02 21:45:16
【问题描述】:

我有一个页面每 10 秒刷新一次。 当页面刷新时,将用户踢出页面并将他发送到 auth.php。 与

if (!isset($_SERVER['HTTP_REFERER']))
{
header("location: auth.php");
exit;
}

我需要这个函数来防止从 url 直接访问。 但是刷新后用户退出的问题,刷新完成后如何使此功能为false,否则阻止从url直接访问

我的代码是流。

<html>
<body>
<?php


$page = $_SERVER['PHP_SELF'];
$sec = 10;
header("Refresh: $sec; url=$page");



if (!isset($_SERVER['HTTP_REFERER']))
{

header("location: auth.php");
exit;
}
?>

</body>
</html>

【问题讨论】:

  • 您必须在任何 HTML 输出之前使用您的标题。否则它将无法正常工作。
  • 好的,我会这样做的。我需要如何防止用户在刷新后注销。
  • PHP 文档中写道:“将用户代理指向当前页面的页面地址(如果有)。这是由用户代理设置的。并非所有用户代理都会设置此地址,并且有些提供了修改 HTTP_REFERER 作为功能的能力。简而言之,它不能真正被信任。 - php.net/manual/en/reserved.variables.server.php

标签: php


【解决方案1】:

使用

if(!isset($_GET['logout']))
{
    if(!isset($_SERVER['HTTP_REFERER']))
    {
        header("location: auth.php");
        exit;
    }
    else
    {
    $page = $_SERVER['PHP_SELF'];
    $sec = 10;
    header("Refresh: $sec; url=$page");
    }
} 
else
{
    print "/*Error in refreshing*/";
}

希望这会有所帮助!

【讨论】:

  • 首先感谢您的代码。您的代码正在运行,用户没有退出。清爽好。但是当我从 url 访问页面时,我正在打开。这就是问题一个问题解决了第二个不是。!!!当我从 url 访问时,我应该重定向到 auth.php 但没有发生。
  • @hadi 然后你可以在第一个'if'语句中插入'else if'语句。
  • 然后尝试相反。用 parent 语句代替 child,反之亦然。
  • 我做到了,刷新很好,但访问 url 没有重定向。你有花药问候吗?为此
  • 我已经弄明白了&lt;?phpsession_start();$_SESSION['valid'] = "yes";echo "Page 1";?&gt;page2.php有这个脚本:&lt;?phpsession_start();if ($_SESSION['valid'] != "yes") header("Location: page1.php");987643130@9876453130@9876 @
猜你喜欢
  • 1970-01-01
  • 2016-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
  • 1970-01-01
  • 2016-05-11
  • 1970-01-01
相关资源
最近更新 更多