公司用的是通达OA系统 业余时间写了个自动考勤的 用PHP模拟登陆 打考勤 加在系统的定时任务 生成随机范围内时间打考勤 一切都是很完美 可是今天老总叫我看邮件 问我怎么我打考勤的IP都不是公司网络的IP呢?纳闷 我说是远程打的考勤 说刚来公司不太清楚 哎 。。现在就想知道PHP怎么模拟IP POST数据呢 。。服务器记录了客户端IP的
解决方案 »
- httpd.exe有时候会死掉
- php上传文件的临时目录由upload_tmp_dir设置项指定,但此项为空时怎样得到上传文件临时目录的真实位置呢?
- 问一个javascript的问题
- 找ecshop服务商,知道的人帮忙一下?
- 网站会员不能同步登陆
- phpnow_1.4.5-20搭建php环境,连接到数据库报错: Access denied for user 'root'@'localhost' (use
- 求PHP软件工程师视频
- 唠叨老大现在何方?
- 谁能介绍一个能在PHP上用免费报表工具。
- 如何在PHP保存登录状态..sessionid值可以获取到
- ie8支持ajax的问题
- 关于uc整合的问题,紧急求救
就是因为早上有时候怕晚了 才把程序放VPS上跑 公司电脑哪能天天开着呢?
例子:
client.php
<?php
$headers['CLIENT-IP'] = '202.103.229.40';
$headers['X-FORWARDED-FOR'] = '220.103.229.40';
$headers['REMOTE_ADDR'] = '220.103.229.40'
$headerArr = array();
foreach( $headers as $n => $v ) {
$headerArr[] = $n .':' . $v;
}
ob_start();
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "<a href="http://localhost/curl/server.php"" rel="nofollow">http://localhost/curl/server.php"</a>;);
curl_setopt ($ch, CURLOPT_HTTPHEADER , $headerArr ); //构造IP
curl_setopt ($ch, CURLOPT_REFERER, "<a href="http://www.163.com/" rel="nofollow">http://www.163.com/</a> "); //构造来路
curl_setopt( $ch, CURLOPT_HEADER, 1);
curl_exec($ch);
curl_close ($ch);
$out = ob_get_contents();
ob_clean();
echo $out;
?>
server.php<?php
function GetIP(){
if(!empty($_SERVER["HTTP_CLIENT_IP"]))
$cip = $_SERVER["HTTP_CLIENT_IP"];
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if(!empty($_SERVER["REMOTE_ADDR"]))
$cip = $_SERVER["REMOTE_ADDR"];
else
$cip = "无法获取!";
return $cip;
}
echo "<BR>访问IP: ".GetIP()."<br>";
echo "<BR>访问来路: ".$_SERVER["HTTP_REFERER"];
?>
function curl_string ($url,$user_agent,$proxy){
$ch = curl_init();
curl_setopt ($ch, CURLOPT_PROXY, $proxy);
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($ch, CURLOPT_COOKIEJAR, "c:\cookie.txt");
curl_setopt ($ch, CURLOPT_HEADER, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_TIMEOUT, 120);
$result = curl_exec ($ch);
curl_close($ch);
return $result;
}
$url_page = "http://www.baidu.com";
$user_agent = "Mozilla/4.0";
$proxy = "http://150.65.32.66:3128";
$string = curl_string($url_page,$user_agent,$proxy);
echo $string;
curl只能伪造header, REMOTE_ADDR是实际和服务端握手通信的IP 可以通过代理 修改 但是公司电脑也不可能一直开着啊 。。所以此题暂时无解 呵呵