王朝网络
分享
 
 
 

如何将错误403(阻止)自定义为错误404(不存在)

王朝厨房·作者佚名  2007-01-05
宽屏版  字体: |||超大  

http://bbs.chinaunix.net/forum/13/20040713/366277.html 里面讲我偶的“遭遇”,不过倒是一个练习的好机会,毕竟从来没有每天42万的访问量。(够呛~~) :em06:

我用 Allow Deny 的方法(具体见我的帖子)阻止了盗链mp3,详细的可以看我的blog上的描述

apache 速度爆慢的问题:MAX CLIENT 和 百度mp3搜索引擎

http://weblog.dalouis.com/archives/2004/07/apache_eccee.html

如果(我这里是假设噢~)我想把 阻止后的错误信息, 例如:

[quote:b54c7219b9]221.197.101.15 - - [14/Jul/2004:20:15:13 +0800] "GET /archives/images/jiangnan.mp3 HTTP/1.1" [size=18:b54c7219b9][b:b54c7219b9]403 372[/color:b54c7219b9][/b:b54c7219b9][/size:b54c7219b9] "http://mp3.baidu.com/m?z=0&cl=3&ip=221.197.101.15&ct=134217728&sn=&lm=-1&cm=1&sc=1&bu=&rn=0&tn=baidump3&word=%BD%AD%C4%CF&pn=90" "Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)"[/quote:b54c7219b9]

将其中的 403 372,也就是 “禁止”改为 “404” ,也就是不存在,那么百度下次 spider 我的网页的时候就认为已经被删除了,不知道这种想法是否可以实现? 请教大家!! :em13:

HonestQiao 回复于:2004-07-14 22:33:37

在apache源代码的httpd.h之中包含:

#define HTTP_FORBIDDEN 403

或者你的版本可能是其他的,你搜索403

你修改这个为404也许就可以了

需要重新编译的

jackieyuan 回复于:2004-07-14 22:37:20

[quote:cda4c08045="HonestQiao"]在apache源代码的httpd.h之中包含:

#define HTTP_FORBIDDEN 403

或者你的版本可能是其他的,你搜索403

你修改这个为404也许就可以了

需要重新编译的[/quote:cda4c08045]

thankx! 我想用用 rewrite试试 hohohoho~~ :em02:

HonestQiao 回复于:2004-07-15 09:31:56

那也可以的哦。

你可以把来自白度的全部给rewrite倒不存在页面的想法是可取的。

不过你必须注意到一点,你的apache是不是会忙于应付百度去给摆渡rewrite而疏忽了其他的哦

jackieyuan 回复于:2004-07-15 10:04:52

[quote:542da0a5e5="HonestQiao"]那也可以的哦。

你可以把来自白度的全部给rewrite倒不存在页面的想法是可取的。

不过你必须注意到一点,你的apache是不是会忙于应付百度去给摆渡rewrite而疏忽了其他的哦[/quote:542da0a5e5]

哟货~~ 谢谢 拉~~

最后觉得还是干脆把这个mp3改了一个名字,让它都是404错误,这样才搞定~~ 以后吸取教训了,不要在page上面写明码的 mp3,不然被百度又抓了去了。

http://weblog.dalouis.com/archives/2004/07/apache_eccee.html

总结了一下~~ 希望对大家有点帮助~hohohoho

[b:542da0a5e5]谢谢HonestQiao[/b:542da0a5e5]!

HonestQiao 回复于:2004-07-15 13:18:49

apache 速度爆慢的问题:MAX CLIENT 和 百度mp3搜索引擎

Posted by kreny at July 13, 2004 01:29 PM | Trackback URL: http://weblog.dalouis.com/cgi-bin/mt-tb.cgi/98

今天出现了apache打开速度爆慢的问题。检查如下:

ping 的平均时间为 69 ms find /-ctime 1 没有什么大的变动 netstat -anlp | grep 80 | grep tcp | awk {'print $5'} | awk -F: {'print $1'}| sort |uniq -c | sort -nr 有将近145个httpd 的链接, 前几个的每个ip的连接数目都在 10-15左右。

升级apache到2.0.50

$ ./configure --enable-so --enable-speling --enable-rewrite --enable-ssl --with-ssl=/usr/local/ssl

$ make

$ apachectl stop

$ make install

$ apachectl start

问题依然存在。 查看last 和 apache的log文件,并用SSS扫描主机,未发现侵入和漏洞。于是搜索CU上的问题,发现了这个帖子,根据里面的解释,可能是由于我的服务器的virtual hosts在不停地增加,而正常连接数目在不停地增大,而httpd.conf里面没有恰当设置 MAX CLIENT 造成的。

修改了 httpd.conf 里面的 MAX CLIENT 为 256,问题解决!

如果你要继续增加 MAX CLIENT 的数量,请见全文。

推荐阅读 :RFC2616

apache 速度爆慢的问题:MAX CLIENT 和 百度mp3搜索引擎

感谢 HonestQiao

当你将 MAX CLIENT 设置为超过256的时候,会出现

WARNING: MaxClients of 1250 exceeds ServerLimit value of 256 servers,

lowering MaxClients to 256. To increase, please see the ServerLimit

directive.

的错误。

查看prefork 的相关说明,将idle的进程减少了。

(因为在我的 # apachectl -l 只有 prefork.c

MaxSpareServers 6

追究原因 百度的 mp3 搜索器搞的鬼

210.54.49.45 - - [13/Jul/2004:13:37:23 +0800] "GET /archives/images/jiangnan.mp3 HTTP/1.1" 206 "http://list.mp3.baidu.com/topso/9/984_tsomp3.htm" "Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)"

原来是我的“江南”这首歌,被百度搜索到,不停的被下载。而且就是今天的事情。查看流量日志

2004年 七月 12 21 40 149 228.94 M字节 2004年 七月 13 17 25 8821 50.78 G字节

所以利用阻止图片盗链的方法,在apache里面设置。

######## Preventing Image 'Theft' ######## ## http://apache-server.com/tutorials/ATimage-theft.html

# Images can only be fetched if they were linked to from one of your pages.

# local_ref=1 ==> forbidden

SetEnvIfNoCase Referer "fjhr.org" !local_ref

SetEnvIfNoCase Referer "hzmjp.com" !local_ref

SetEnvIfNoCase Referer "dalouis.com" !local_ref

SetEnvIfNoCase Referer "necktie.gov.cn" !local_ref

SetEnvIfNoCase Referer "necktie.net.cn" !local_ref

SetEnvIfNoCase Referer "hzboxing.com" !local_ref

SetEnvIfNoCase Referer "-" !local_ref

SetEnvIf Request_URI "/images/logo(.)+" local_ref

SetEnvIf Request_URI "/images/snap(.)+" local_ref

SetEnvIf Request_URI "/images/close(.)+" local_ref

SetEnvIf Request_URI "/favicon.ico" local_ref

SetEnvIf Request_URI "matrix.jpg" local_ref

# Agree to download at mediaplayer

BrowserMatch "RealMedia" local_ref

<FilesMatch ".(png|gif|jpg|mp3|wma)">

Order Allow,Deny

Allow from env=local_ref

</FilesMatch>

重启apache以后立刻速度爆增!

[Tue Jul 13 13:40:54 2004] [error] [client 61.176.103.33] client denied by server configuration: /home/kreny/mt/weblog/archives/images/jiangnan.mp3, referer: http://list.mp3.baidu.com/topso/9/984_tsomp3.htm

但是发现情况并没有好转:请看如下记录。

218.31.243.201 - - [14/Jul/2004:18:48:15 +0800] "GET /archives/images/jiangnan.mp3 HTTP/1.1" 206 623094 "http://mp3.baidu.com/m?tn=baidump3&ct=134217728&rn=&word=%BD%AD%C4%CF+%C1%D6%BF%A1%BD%DC&lm=-1" "Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)"

206代码表示获取部分数据。这就有可能是类似于flashget或者netants的分块下载。查看了flashget,发现里面有“发送引用页”这个部分,可以欺骗服务器的reffer (可恶~)。 所以使用了 BrowserMatch 来限制下载mp3的浏览器类型。 比如 mediaplayer 和 realplayer。这样就可以阻止类似于 flashget的下载。 (当然,你也可以填写代理以适应我的服务器要求,不过,没那么多人为了一首歌会搞的这么复杂吧?嘿嘿~) 以下是代码(里面的match内容不是真实的噢~)。

# Agree to play by mediaplayer or mediaplayer

BrowserMatch "RealPlayer" local_media=0

BrowserMatch "MediaPlayer" local_media=0

<FilesMatch ".(mp3|wma)">

Order Deny,Allow

Deny from all

Allow from env=local_media

</FilesMatch>

如果要减轻log文件的记录量,我们可以分离从百度来的referer,在你的virtual host里面做以下设置:

SetEnvIf Referer "baidu.com" baidu_ref=0

CustomLog logs/weblog.dalouis.com-access_log combined env=!baidu_ref

CustomLog logs/poachers_log combined env=baidu_ref

注意:不能单纯地设置 !baidu_ref,而要用 baidu_ref=0 或者 baidu_ref=1 来设置。

最后设置 robot.txt 了

User-agent: * Disallow: /cgi-bin Disallow: /archives/images

jackieyuan 回复于:2004-08-16 21:56:14

[quote:f14ba6709c="HonestQiao"]

.........[/quote:f14ba6709c]

问题又来了。别人在他们自己的 网页上面用mediaplayer播放我的服务器上的文件。所以用 agent是否是 mediaplayer或者是realplayer已经不能解决问题了。如果用reffer来判断是否是来自于自己的网站也不行,因为嵌入到网页中的mediaplayer在播放的时候是没有产生 reffer的。log如下

[code:1:f14ba6709c]218.25.51.139 - - [16/Aug/2004:21:49:21 +0800] "GET [color=red]/media/1/Sarah_Brightman.asf HTTP/1.1" 200 982369 "-" "NSPlayer/9.0.0.2980"[/code:1:f14ba6709c]

所以想到的方法是用一个诸如 redirect.php 的页面,通过参数传递来实现。

但是我的 redirect.php 代码是

[code:1:f14ba6709c]<?php

header("Location:".$_GET['f']);

?>[/code:1:f14ba6709c]

用 [code:1:f14ba6709c]/redirect.php?f=media/1/Sarah_Brightman_MTV.asf[/code:1:f14ba6709c] 来传递还是不行阿,reffer里面还是[b:f14ba6709c]"-" [/b:f14ba6709c]

[code:1:f14ba6709c]218.25.51.139 - - [16/Aug/2004:21:43:29 +0800] "GET /redirect.php?f=media/1/Sarah_Brightman_MTV.asf HTTP/1.1" 302 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; (R1 1.5); Alexa Toolbar)"

218.25.51.139 - - [16/Aug/2004:21:43:30 +0800] "GET /media/1/Sarah_Brightman_MTV.asf HTTP/1.1" 403 373 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; (R1 1.5); Alexa Toolbar)"[/code:1:f14ba6709c]

请指教了~ 就是说是怎么用转向页面来产生 reffer?或者其他方法? :em24:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有