加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

行使HTTP Headers 防止WEB进攻(一)

发布时间:2016-10-28 19:20:45 所属栏目:语言 来源:freebuf
导读:副标题#e# 得到如下头信息 如果你注意到,在响应信息中出现了一个X-Frame-Options 现在我们重新加载iframe,是得不到任何显示的 #p#副标题#e# 使用 Chrome的开发者模式,我们来看看背后隐藏的秘密。 在Firefox中 使用 开发者模式 在Firefox中加载iframe.htm

在浏览器的错误信息中可以看到

HTTPHeaders Web攻击 点击劫持

错误信息表明了,不允许进行跨域。

X-Frame-Options: ALLOW-FROM http://www.site.com

X-Frame-Options: ALLOW_FROM选项,表示该页面可以在指定来源的 frame 中展示,该选项只适用于IE,Firefox浏览器。

首先打开home.php文件添加如下代码

  • header(“X-Frame-Options: ALLOW-FROM http://localhost”);

修改后代码如下:

<?php
session_start();
session_regenerate_id();
header("X-Frame-Options: ALLOW-FROM http://localhost");
if(!isset($_SESSION['admin_loggedin']))
{
    header('Location: index.php');
}
if(isset($_GET['search']))
{
    if(!empty($_GET['search']))
    {
        $text = $_GET['search'];
    }
    else
    {
        $text = "No text Entered";
    }
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Admin Home</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
 
         <div id="home"><center>
        </br><legend><text id=text><text id="text2">Welcome to Dashboard...</text>
</br></br> You are logged in as:
<?php echo $_SESSION['admin_loggedin']; ?>
<a href="logout.php">[logout]</a></text></legend></br> <form action="" method="GET"> <div id="search"> <text id="text">Search Values</text><input type="text" name="search" id="textbox">
</br></br> <input type="submit" value="Search" name="Search" id="but"/> <div id="error"><text id="text2">You Entered:</text><?php echo $text; ?></div> </div> </form></center> </div> </body> </html>

退出网页,重新登录,观察HTTP

HTTPHeaders Web攻击 点击劫持

如果我们现在尝试从同一个服务器加载iframe,网页不会出现任何错误

HTTPHeaders Web攻击 点击劫持

这是因为服务器允许加载http://localhost 这个地址

现在我们修改HTTP头,再加载

在home.php文件中添加

  • header(“X-Frame-Options: ALLOW-FROM http://www.androidpentesting.com”);

修改后代码如下

<?php
session_start();
session_regenerate_id();
header("X-Frame-Options: ALLOW-FROM http://www.androidpentesting.com");
if(!isset($_SESSION['admin_loggedin']))
{
    header('Location: index.php');
}
if(isset($_GET['search']))
{
    if(!empty($_GET['search']))
    {
        $text = $_GET['search'];
    }
    else
    {
        $text = "No text Entered";
    }
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Admin Home</title>
        <link rel="stylesheet" href="styles.css">
    </head>
    <body>
 
         <div id="home"><center>
        </br><legend><text id=text><text id="text2">Welcome to Dashboard...</text>
</br></br> You are logged in as: <?php echo $_SESSION['admin_loggedin']; ?>
<a href="logout.php">[logout]</a></text></legend></br> <form action="" method="GET"> <div id="search"> <text id="text">Search Values</text><input type="text" name="search" id="textbox"></br></br> <input type="submit" value="Search" name="Search" id="but"/> <div id="error"><text id="text2">You Entered:</text><?php echo $text; ?></div> </div> </form></center> </div> </body> </html>

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读