很多站长朋友们都不太清楚php破伪造来源,今天小编就来给大家整理php破伪造来源,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php 伪造 http_referer 2、 如何向PHP伪造自己的ip 3、 php伪造ip获取网页内容,求高手 4、 使用CURL伪造来源网址与IP 5、 php伪装来路域名 php 伪造 http_refererfunction getContentCURL($url,$post_data = '',$user_agent="Mozilla/5.0 (Windows; U; Windows NT 6.0; zh-CN; rv:1.8.1.3)", $header = 0, $follow_loc = 1, $cookie_file="/tmp/cookie.txt",$CURLOPT_TIMEOUT=30)
{
$ch = @curl_init();
@curl_setopt($ch, CURLOPT_URL, $url);
@curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
@curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
@curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
@curl_setopt($ch, CURLOPT_HEADER, $header);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $follow_loc);
@curl_setopt($ch, CURLOPT_TIMEOUT, $CURLOPT_TIMEOUT);
if (trim($post_data) != '') {
@curl_setopt($ch, CURLOPT_POST, 1);
@curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
}
$result = @curl_exec($ch);
@curl_close($ch);
return $result;
}
通过这种方式做代理, 你在仔细研究下吧
参考下
如何向PHP伪造自己的ip要看具体代码是怎么写的,如果代码写得不好是有可能伪造的。
获取IP的方法有几种,通过例子看一下,这个是ThinkPHP里的获取IP的函数:
/**
* 获取客户端IP地址
* @param integer $type 返回类型 0 返回IP地址 1 返回IPV4地址数字
* @param boolean $adv 是否进行高级模式获取(有可能被伪装)
* @return mixed
*/
function get_client_ip($type = 0,$adv=false) {
$type = $type ? 1 : 0;
static $ip = NULL;
if ($ip !== NULL) return $ip[$type];
if($adv){
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
$pos = array_search('unknown',$arr);
if(false !== $pos) unset($arr[$pos]);
$ip = trim($arr[0]);
}elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
}elseif (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
}
// IP地址合法验证
$long = sprintf("%u",ip2long($ip));
$ip = $long ? array($ip, $long) : array('0.0.0.0', 0);
return $ip[$type];
}
$_SERVER['HTTP_CLIENT_IP'] 是HTTP信息中的IP,存在于http请求的header中,可以伪造;
$_SERVER["REMOTE_ADDR"] 可取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。不可以伪造,但可以用代理。
$_SERVER["HTTP_X_FORWARDED_FOR"] 可以透过代理服务器取得客户端的真实 IP 地址,但有时候也不管用,也可以伪造。
php伪造ip获取网页内容,求高手伪造IP是不可能的,HTTP协议是机遇TCP,你发送GET命令过去必须留有准确的IP地址,否则对方无法把结果发给你,你与服务器xxx.xxx.xx的通讯相当于写信,你匿名写信只能攻击,要获取返回的东西必须提交真实的地址。
无论使用CURL还是别的方法,都要受前面的基本规则限制。
编程上已经没有办法可走了,你可以考虑使用代理,通过代理服务器去获取数据,查封就换个代理服务器。不过现在代理服务器是很难找的。
使用CURL伪造来源网址与IP很多投票都有对来路的网址和IP进行验证,但是使用CURL可以伪造成任意的网址与IP,以绕过一些简单的验证,下面举一个简单的例子。程序运行之前,请确保 php.ini 中 extension=php_curl.dll
视图是用户用户能看到你的网站的所有。 他们使用一个统一的接口, 而且可以根据需要进行修改。 MVC 的好处之一是你分开了表示层和逻辑层, 一切都显得很干净。视图实际上是一组包含有你的内容的HTML结构。结构中有各种元素,如颜色,字体,文字布局等; 不过视图不关心这些,它要做的只是取来内容,显示出来。
一般我们在控制器中这样定义:
function index() {
$data['mytitle'] = "A website monitoring tool";
$data['mytext'] = "This website helps you to keep track of the other websites you control.";
$this->load->view('basic_view',$data);
}
我们把$data数组作为$this->load->view()的第二个叁数,在视图名称之后。视图接收到$data数组后,使用PHP函数extract()把数组中的每个元素转换成内存变量,数组的键名即为变量名,值为变量内所包含的值。这些变量的值能直接被视图引用:
虽然你只能传送一个变量到视图, 但是通过建立数组,你能把大量变量整洁地传入视图。它似乎复杂, 但是实际上是一种紧凑和优秀的信息传输方式。
如果传递过来的数组是包含多个数据,那么就需要遍历,操作一般如下。先是控制器:
$data["notice"] =array('aaa','bbb');
$this->load->view('api/notice',$data);
视图中解析:
if(count($notice)>0){
foreach($notice as $key =>$value ){
?>
}
?>
再说下二维数组的传递与遍历问题。下面的程序实现遍历某个目录下的文件。
class Data extends CI_Controller {
public function index()
{
$this->load->helper('url');
$data['page_title'] = '简明现代魔法';
$data['pre_url'] = 'application/views/default/';
$this->load->view('default/header', $data);
$this->load->view('default/index', $data);
$this->load->view('default/footer');
//$this->load->view('index');
}
public function gdnews()
{
$this->load->helper('url');
$arr = array();
function tree($directory)
{
$mydir = dir($directory);
while($file = $mydir->read())
{
// 是目录的话
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!=".."))
{
//echo "
$file
\n";
//tree("$directory/$file");
}
// 不是目录
else
{
$arr['name'][] = @iconv('GB2312','UTF-8',$file);
$arr['time'][] = @iconv('GB2312','UTF-8',date('Y-m-d H:i:s', filemtime($file)));
}
}
$mydir->close();
return $arr;
}
$dir = "datas/gdnews/";
$arr = tree($dir);
$data['files'] = $arr;
$data['page_title'] = '简明现代魔法' ;
$data['dir'] = $dir;
$this->load->view('default/header', $data);
$this->load->view('default/data', $data);
$this->load->view('default/footer');
}
}
?>
在视图中这么输出就可以:
if(count($files)>0)
{
foreach($files['name'] as $key =>$value ){
?>
}
}
?>
你是否有这样的烦恼,想学习高级技术,缺乏好的高级学习资料,收集了部分12年网站架构师授课的TP5、laravel、swoole、swoft、高并发、分布式等资料,现在免费分享给大家,官方群:820469789,大牛带你装逼带你飞
php伪装来路域名1.通过设置HTTP REFERER来伪装来路,但是可能会被识破
2.在B上做一个代理程序,也就是A请求B,B再去请求C,然后B再将结果返回给A,这是最稳当的做法
关于php破伪造来源的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php破伪造来源 php伪造ip的详细内容...