ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER的
HTTP-REFERER这个变量,尽管在网页交互中扮演着重要的角色,但其可靠性正逐渐受到质疑。事实上,HTTP-REFERER是可以被伪造和修改的。下面,我们将在不同的编程语言和环境下如何伪造HTTP-REFERER,并简要介绍一些防御方法。
在ASP和Visual Basic中,伪造HTTP-REFERER相对简单。通过创建XMLHTTP对象,设置请求头中的Referer字段即可。示例代码如下:
```vb
Dim http
Set http = server.createobject("MSXML2.XMLHTTP") '或者MSXML2.serverXMLHTTP
http.open "GET", url, false
http.setRequestHeader "Referer", "
http.send()
```
在PHP中,可以使用curl库或者不使用curl,通过sock来构造请求。示例代码如下:
使用curl:
```php
$ch = curl_init();
curl_set($ch, CURLOPT_URL, "
curl_set($ch, CURLOPT_REFERER, "
curl_exec($ch);
curl_close($ch);
```
不使用curl,使用sock:
```php
$server = '.dc9.';
$host = '.dc9.';
$target = '/x.asp';
$referer = '
$port = 80;
$fp = fsockopen($server, $port, $errno, $errstr, 30);
// 省略了错误处理和请求发送的代码...
```
在其他语言如VB.NET、C和JavaScript中,也可以实现类似的功能。伪造HTTP-REFERER的背后原理是构造HTTP头来发送数据。值得注意的是,JavaScript本身并不支持修改HTTP头,但可以通过XMLHttpRequest或其他库来实现。
编程语言
- ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER的
- EasyUI加载完Html内容样式渲染完成后显示
- ThinkPHP使用smarty模板引擎的方法
- JS和C#实现的两个正则替换功能示例分析
- 匹配URL的正则表达式(推荐)
- jquery带翻页动画的电子杂志代码分享
- php简单实现快速排序的方法
- mysql 转换NULL数据方法(必看)
- IEEE Spectrum 2014编程语言排行榜
- JS未跨域操作iframe里的DOM
- AJAX请求类
- Phpstorm+Xdebug断点调试PHP的方法
- asp中去除html中style,javascript,css代码
- ajax AjaxDownloader.js[modified]
- 浅谈PDO的rowCount函数
- jQuery实现最简单实用的分秒倒计时