http防盗链规则
http放盗链规则
curl方式post
fopen构造post
file_get_contents()构造post
长连接+OB缓存
Meepops
swoole
rebittmq等
防止盗链:
打开rewrite重写,写入htaccess规则。
模拟数据提交:get或post方式。
1、file_get_cntents():
http_build_query(array());
stream_context_create();
2、fopen();
http协议概述
报文,用于http协议的交互信息
请求行:包括请求的方法,url和http协议版本
状态行:包括响应结果的状态码,状态描述和http版本
首部字段:包括请求和响应的各种条件和属性值(键值对)
http协议的组成部分
报文首部
空行
报文主体
图片防盗链
识别访问自己网站的域名
.htaccess重写规则放图片盗链
打开重写引擎
重写条件
telnet模拟HTTP请求
cmd下-》telnet主机地址80
快捷键:Ctrl + "]"再按下回车键 打开回显功能
发送请求报文
GET /http/test.php HTTP/1.1
Host:localhost
空一行
回车
响应成功
POST http/test.php HTTP/1.1
HOST:localhost
Content-type:application/x-www-form-urlencoded
content-length:20
act=query&name=ghost
请求头 响应头
请求行(General):请求的方法,URL和HTTP协议版本
状态行:响应结果的状态码,状态描述和HTTP版本
首部字段:包括请求和响应的各种条件和属性值
回车会换行,就只好复制代码粘贴了
telnet无法启动的解决办法:
运行services.msc,找到telnet,点击启动,弹出窗口
无法启动服务,错误1068:依赖服务或组无法启动
查看telnet属性,依存关系一栏里有Secondary Logon
(可以运行eventvwr.exe 查看 windows日志->系统,找到错误,提到"
与 Telnet 服务相依的 Secondary Logon 服务因下列错误而无法启动:
无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
")
找到Secondary Logon启动即可
telnet
http协议概述
http报文
无状态协议
http协议
post模拟提交所需的格式
http协议版包含
报文 用于http协议交互的信息
请求行 请求的方法、URL、HTTP协议版本
状态行 响应结果的状态码、状态描述、HTTP版本
首部字段 请求和响应的各种条件和属性值(键值对)
http防盗链,.htaccess
开启重写引擎;
重写条件是:
满足条件后,重写规则为:
$postData = array(
'action' => 'req',
'type' => 'post'
);
$postData = http_build_query($postData);
$fp = fsockopen('localhost', 80, $errno, $errorStr, 5);
$reqData = "POST /reg.php HTTP/1.1\r\n";
$reqData .= "HOST:localhost\r\n";
$reqData .= "Content-type:application/x-www-form-urlencoded\r\n";
$reqData .= "Content-length:" . strlen($postData) . "\r\n\r\n";
fwrite($fp, $reqData);
while(!feof($fp)) {
echo fgets($fp, 1024) . '.Hello World\r\n';
}
fclose($fp);
exit;
服务端echo粗来,but报错500