博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】有的时候可以使用 PHP 做一个网络攻击工具,这时候往往是需要使用到跨站发送 POST 请求,本文讲解一下 PHP 如何跨站发送 POST 请求的实例。
例子:
发送 POST 请求的页面是: http://127.0.0.1:8078/1.php
被请求的页面是:http://127.0.0.1:8090/2.php
即 http://127.0.0.1:8078/1.php 向 http://127.0.0.1:8090/2.php 发送 POST 请求。
已知 http://127.0.0.1:8090/2.php 页面的 PHP 代码是:
echo 'name:'.$_POST['name'].', ';
echo 'age:'.$_POST['age'].', ';
echo 'summary:'.$_POST['summary'];
则 http://127.0.0.1:8078/1.php 页面的内容可如下:
/**
* 发送post请求
* @param string $url 请求地址
* @param array $post_data post键值对数据
* @return string
*/
function send_post($url, $post_data)
{
$postdata = http_build_query($post_data);
$options = array
(
'http' => array
(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $postdata,
'timeout' => 15 * 60 // 超时时间(单位:s)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}
// 使用方法
$post_data = array
(
'name' => '马富天',
'age' => '18',
'summary' => '演示一下 PHP 跨站 POST 请求'
);
var_dump(send_post('http://127.0.0.1:8090/2.php', $post_data));
// 输出:string 'name:马富天, age:18, summary:演示一下 PHP 跨站 POST 请求' (length=73)
运行结果:
http://127.0.0.1:8078/1.php 页面如下:
http://127.0.0.1:8090/2.php 页面如下:
版权归 马富天博客 所有
本文标题:《PHP 跨站发送 POST 请求》
本文链接地址:http://www.mafutian.net/215.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶0
踩0