zoukankan      html  css  js  c++  java
  • 【十七】防盗链练习

    需求:写一个myimport.php,该php显示你的名字,工作,性别...当一个链接不是来自本网站的时候,则跳转到警告页面"小子,想盗链吗?'

    目录:

    index.html

    1 <!DOCTYPE html>
    2 <html>
    3 <head>
    4     <title></title>
    5 </head>
    6 <body>
    7 <a href="myimport.php">查看cmf的详细资料</a>
    8 </body>
    9 </html>

    myimport.php

     1 <?php
     2     // $_SERVER 是一个系统全局变量 当你在访问某网页的时候,apche就会把你的请求主体信息通过php进行二次封装
     3     // 所包含的消息,包括请求头消息+服务器本身的一些资源消息
     4     foreach ($_SERVER as $key => $value) {
     5         echo "$key=$value<br/>";
     6     }
     7     //判断是否有来源信息  HTTP_REFERER
     8     if (isset($_SERVER['HTTP_REFERER'])) {
     9         // 如果存在则继续判断HTTP_REFERER 是否正确(http:www.localhost/http)
    10         // 注意:
    11         // strpos为在某个字符串中查找某个字符串出现的位置
    12         // 如果等于0,意思是在这个字符串中,http://www.localhost/http是开头
    13         if (strpos( $_SERVER['HTTP_REFERER'],"http://www.localhost/http")==0) {
    14                 echo "详细信息为<br/>";
    15                 echo "姓名:cmf<br/>";
    16                 echo "性别:女<br/>";
    17                 echo "工作:it<br/>";
    18         }
    19         else{
    20             header("Location:http://www.localhost/http/wearing.php");
    21         }
    22         }
    23     else{
    24             header("Location:http://www.localhost/http/wearing.php");
    25                 }
    26 ?>

    wearing,php

    1 <h1>小子,想盗链吗?</h1>

    访问结果:

    从index.html跳转到myimport页面时,会有Referer信息,正常跳转

     1 Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
     2 Accept-Encoding:gzip, deflate, sdch, br
     3 Accept-Language:zh-CN,zh;q=0.8
     4 Cache-Control:no-cache
     5 Connection:keep-alive
     6 Cookie:1WEp_2132_ulastactivity=d5c9zp2HJH4r%2FnsIh4f2xHk%2Fj%2B32EQ3aAlwZ4jqY2HGZ28xwJatQ; 1WEp_2132_lastcheckfeed=1%7C1508677289; 1WEp_2132_nofavfid=1; 1WEp_2132_smile=1D1
     7 Host:localhost
     8 Pragma:no-cache
     9 Referer:http://localhost/http/index.html
    10 Upgrade-Insecure-Requests:1
    11 User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36

    现有一野孩子,想直接跳转到http://www.localhost/http/myimport.php页面,代码如下:

    注意:做练习时,该文件时放在桌面,非apache下的htdos目录下

    1 <!DOCTYPE html>
    2 <html>
    3 <head>
    4     <title></title>
    5 </head>
    6 <body>
    7 <a href="http://www.localhost/http/myimport.php">我是去盗取别人资源的</a>
    8 </body>
    9 </html>

    访问结果如果:

    跳转到wearing页面

  • 相关阅读:
    查看Java中每个数据类型所占的位数,和表示数值的范围,并得出结论。
    同名变量的屏蔽原则
    反码,补码,原码
    机器学习概念性知识总结
    图的最短路径问题
    System Design 笔记及代码(系统设计)
    2016网易游戏实习算法题解(今年找暑期实习的时候参加的)
    Google java style
    18.1---不用加号的加法(CC150)
    Java模板模式(template)
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/7899909.html
Copyright © 2011-2022 走看看