php CURL伪造IP和来源实现程序
伪造IP来源对于php来说是很简单的一件事情,我们只要利用了php curl即可实现伪造IP来源,IP地址你可以随便写.
1,php实例代码如下:
$ch = curl_init(); curl_setopt( $ch , CURLOPT_URL, "http://localhost/2.php" ); curl_setopt( $ch , CURLOPT_HTTPHEADER, array ( 'X-FORWARDED-FOR:8.8.8.8' , 'CLIENT-IP:8.8.8.8' )); //IP curl_setopt( $ch , CURLOPT_REFERER, "http://www.phpfensi.com/ " ); //来路 curl_setopt( $ch , CURLOPT_HEADER, 1); $out = curl_exec( $ch ); curl_close( $ch );2.php代码如下:
function getClientIp() { if (! empty empty ( $_SERVER [ "HTTP_CLIENT_IP" ])) $ip = $_SERVER [ "HTTP_CLIENT_IP" ]; else if (! empty empty ( $_SERVER [ "HTTP_X_FORWARDED_FOR" ])) $ip = $_SERVER [ "HTTP_X_FORWARDED_FOR" ]; else if (! empty empty ( $_SERVER [ "REMOTE_ADDR" ])) $ip = $_SERVER [ "REMOTE_ADDR" ]; else $ip = "err" ; return $ip ; } echo "IP: " . getClientIp() . "" ; echo "referer: " . $_SERVER [ "HTTP_REFERER" ];用1.php 请求 2.php,输出结果:
IP:8.8.8.8 referer:http://www.phpfensi.com
伪造成功,这是不是给采集的朋友提供了很好的换IP的方案,当然防被刷的朋友也要注意了.
PHP中的CURL函数库(Client URL Library Function)
curl_close — 关闭一个curl会话
curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
curl_errno — 返回一个包含当前会话错误信息的数字编号
curl_error — 返回一个包含当前会话错误信息的字符串
curl_exec — 执行一个curl会话
curl_getinfo — 获取一个curl连接资源句柄的信息
curl_init — 初始化一个curl会话
curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close — 关闭一个批处理句柄资源
curl_multi_exec — 解析一个curl批处理句柄
curl_multi_getcontent — 返回获取的输出的文本流
curl_multi_info_read — 获取当前解析的curl的相关传输信息
curl_multi_init — 初始化一个curl批处理句柄资源
curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array — 以数组的形式为一个curl设置会话参数
curl_setopt — 为一个curl设置会话参数
curl_version — 获取curl相关的版本信息
curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址.
curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄.
curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄.
查看更多关于php CURL伪造IP和来源实现程序 - php高级应用的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did30284