php用Curl伪造客户端源IP
一般服务器获取客户IP有三种情况
1.在没用代理的情况下:
#http://www.111cn.net
REMOTE_ADDR =客户IP
HTTP_VIA = 空
HTTP_X_FORWARDED_FOR = 空
2.在使用代理且代理服务器有设置转发客户端IP的情况:
REMOTE_ADDR = 代理服务器 IP
HTTP_VIA = 代理服务器 IP
HTTP_X_FORWARDED_FOR = 客户IP
HTTP_VIA和HTTP_X_FORWARDED_FOR值可通过添加Header头自定义,进而可通过此隐藏客户端IP,前提是服务
器端有启用X_FORWARDED_FOR。
测试效果,服务器端新建PHP程序:
1.php 请求 index.php 。
1.php代码:
代码如下 | 复制代码 |
<?php //构造IP |
2.php代码如下:
代码如下 | 复制代码 |
<?php echo "IP: " . getClientIp() . ""; echo "IP: " . getClientIp() . ""; |
伪造成功,这是不是给“刷票”的朋友提供了很好的换IP的方案!!
哈哈。
结果:
HTTP/1.1 200 OK Date: Wed, 03 Apr 2013 06:20:42 GMT Server: Apache/2.2.22 (Win32) PHP/5.3.13
X-Powered-By: PHP/5.3.13 Content-Length: 44 Content-Type: text/html
IP: 8.8.8.8
referer: http://www.111cn.net/
下面看关于curl函数
curl相关函数列表:
curl_init — 初始化一个CURL会话
curl_setopt — 为CURL调用设置一个选项
curl_exec — 执行一个CURL会话
curl_close — 关闭一个CURL会话
curl_version — 返回当前CURL版本
1>curl_init — 初始化一个CURL会话
例
代码如下 | 复制代码 |
<?php ?> |
例2
Somehow the recursive version of mkdir didn't work for me on Mac and the workaraounds listed
below alsow didn't work for me, so heres my solution:
代码如下 | 复制代码 |
<?php Tested and works ;) |
例3
代码如下 | 复制代码 |
function mkdirs($dir) { if(!is_dir($dir)) { if(!mkdirs(dirname($dir))){ return false; } if(!mkdir($dir,0777)){ return false; } } return true; } function rmdirs($dir) { $d = dir($dir); while (false !== ($child = $d->read())){ if($child != '.' && $child != '..'){ if(is_dir($dir.'/'.$child)) rmdirs($dir.'/'.$child); else unlink($dir.'/'.$child); } } $d->close(); rmdir($dir); } |
三个创建目录的函数都有自己的优点,这里我也没有一个个测试了,只使用了第二个感觉非常的不错。
代码如下 | 复制代码 |
<?php $cmds=array(a,b,c,d); foreach($cmds as $cmd){ $pid = pcntl_fork(); if($pid == -1) { exit("pid fork error"); } if($pid) { //主进程段,控制子进程数量 static $max = 0; $max++; if($max >= 5) { pcntl_wait($status); //阻塞父进程,直到子进程结束 $max--; } } else { //子进程执行命令 $pid = posix_getpid(); echo "$pid----$cmdnn"; exit(0); } } ?> |
代码如下 | 复制代码 |
/* switch ($type){ |
下面实例的功能是过滤所有的html标签,并替换h1-h5之前的所有文字
代码如下 | 复制代码 |
for( $i=1;$i<=5;$i++ ) $sql ="SELECT * FROM `表名` WHERE `字段` like '<h".$i.">%</h".$i.">%' "; } return re_h($str); function re_h($str) |
上面用到了下面的正则表达式
代码如下 | 复制代码 |
preg_replace("/(?is)(?<=<h1>).*?(?=</h1>)/i","",$t); |
这就是核心代码了
比如需要将文本中的超链接内容去除,这个时候就需要用到正则表达式了。比如你可以用$str = preg_replace("/<a[^>]*href=[^>]*>|</[^a]*a[^>]*>/i","",$strhtml); 这段来实现需求,如果想要更多解决方法,可以参看以下的。
1、删除内容中的超链接
代码如下 | 复制代码 |
ereg_replace('<a([^>]*)>([^<]*)</a>','<font color="red">\2</font>',$content); ereg_replace("<a [^>]*>|</a>","",$content); |
2、消除包含特定词的超链接
代码如下 | 复制代码 |
$find="this string is my find"; |
本站原创,转载必须注明来源www.111cn.net 否则后果自负
相关文章
- php语言实现redis的客户端与服务端有一些区别了因为前面介绍过服务端了这里我们来介绍客户端吧,希望文章对各位有帮助。 为了更好的了解redis协议,我们用php来实现...2016-11-25
- 这篇文章主要介绍了微信小程序(应用号)开发新闻客户端实例的相关资料,需要的朋友可以参考下...2016-10-25
- 这篇文章主要介绍了在页面中输出当前客户端时间javascript实例代码的相关资料,需要的朋友可以参考下...2016-03-03
- 网上有关蓝牙接收的资料很多,使用起来也很简单,但是我觉得还是有必要把这些知识总结下来,蓝牙开发需要用到一个第三方的库InTheHand.Net.Personal.dll,感兴趣的朋友可以了解下,或许对你有所帮助...2020-06-25
- 这篇文章主要介绍了PHP如何使用cURL实现Get和Post请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-11
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
这篇文章主要介绍了js根据手机客户端浏览器类型,判断跳转官网手机网站多个实例代码,需要的朋友可以参考下...2016-05-04- 这篇文章主要介绍了C#获取客户端相关信息的方法,以实例形式总结了C#获取客户端IP地址、网络连接、硬件信息等相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 我们知道,DropDownList下拉框是一个服务器控件,有时候,有些朋友为了方便绑定DropDownList下拉框的选项,但又想在DropDownList实现客户端的下拉事件,那该怎么实现呢?...2021-09-22
PHP CURL CURLOPT参数说明(curl_setopt)
CURLOPT_RETURNTRANSFER 选项:curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSEcurl_setopt($ch, CURLOPT_RETURNTRANSFER,0); 或着不使用这个选项:如果成功只...2013-10-04- 这篇文章主要介绍了spring cloud 配置中心客户端启动遇到的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-25
- 这篇文章主要介绍了c# socket编程实现udp客户端,大家参考使用吧...2020-06-25
- CSRF站外类型的漏洞其实就是传统意义上的外部提交数据问题,一般程序员会考虑给一些留言评论等的表单加上水印以防止SPAM问题,但是为了用户的体验性,一些操作可能没有做任...2016-11-25
- 如果想别人在看你的主页时,每次都刷新,而不是读取缓存里旧的数据,可以这样来做。 用鼠标右键单击页面,选择“页面属性”,弹出“网页属性”对话框。单击“自...2016-09-20
- 这篇文章主要介绍了php获取客户端IP及URL的方法,涉及php预定义服务器变量$_SERVER相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2017-02-09
- 下面小编就为大家带来一篇完美解决mysql客户端授权后连接失败的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
- 这里给大家汇总了使用asp.net实现识别客户端浏览器或操作系统的方法和示例代码,有需要的小伙伴可以参考下。...2021-09-22
- 这篇文章主要介绍了PHP Curl模拟登录微信公众平台、新浪微博实例代码的相关资料,涉及到php curl模拟登录相关知识,需要的朋友可以参考下...2016-02-01
- 这篇文章主要介绍了使用cmd根据WSDL网址生成java客户端代码的实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-29
- <?php //fsocket模拟post提交 $purl = "http://localhost/netphp/test2.php?uu=rrrrrrrrrrrr"; print_r(parse_url($url)); sock_post($purl,"uu=5555555555555555...2016-11-25
- 今天我来给大家介绍在php中跨网站请求伪造的实现方法与最后我们些常用的防止伪造的具体操作方法,有需要了解的朋友可进入参考。 伪造跨站请求介绍 伪造跨站请求...2016-11-25