09-02
13
Apache 防盗链 和 Tomcat 5.5 的中文问题
作者:Java伴侣 日期:2009-02-13
Tomcat 已经推出了 5.5.x版本,你可以通过这个地址查看新的特性:http://jakarta.apache.org/tomcat/tomcat-5.5-doc/changelog.html 。说老实话我没有细看这些变化,但是本着对Tomcat的强力支持,当然要体验一下这个版本,最直接的办法就是在Tomcat 5.5.x下试验jDlog。
我下载的版本是5.5.2 alpha版,配置好jDlog后打开首页,满屏的异常信息,仔细看看这些信息发现出错的原因是标签中使用了中文参数的缘故,例如:
<html:link page="/" title="返回首页">首页</html:link>
把中文参数去掉后发现页面还是全部乱码,尽管每个页面都有
<%@ page language="java" contentType="text/html;charset=GBK" %>
但事实上它好像没有起作用,看来问题出在Tomcat本身对JSP文件的解析上了,根据以往的经验打开{tomcat}\conf\web.xml,找到下面一段并加入红色部分的内容
重新启动Tomcat后发现还是有些乱码,但是中文参数的问题已经不再出错,删除{tomcat}\work目录下的文件后,再次打开页面,所有的问题都解决了。
Apache上的防图片/mp3盗链配置:mod_rewrite it
作者:车东 发表于 November 22, 2006 6:15 PM 最后更新于 November 25, 2006 9:44 PM
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://www.chedong.com/blog/archives/001240.html
Apache上的防mp3盗链的参考配置如下:
功能:
不仅屏蔽/禁止非本网站的盗链访问,还将盗链请求转给自身的网站,让读者知道谁是真正的原创作者。
说明:
RewriteCond 条件:意思就是所有的mp3和rar访问如果referer不是本网站niernier.com或www.niernier.com,
RewriteRule 规则:自动转向到原作宿主页: http://www.niernier.com/archives/000445.html
注释掉的部分是测试rewrite engine用的:对于调试mod_rewrite很有用。
效果:字节流量比原来下降一半,网站独立用户访问量上升了1倍
日期 参观人次 网页数 文件数 字节
2006年 十一月 16 685 897 4641 865.99 M字节
2006年 十一月 17 728 1173 5522 1.28 G字节
2006年 十一月 18 648 934 5535 1.46 G字节
2006年 十一月 19 704 1020 7120 1.40 G字节
2006年 十一月 20 882 1176 5286 1.23 G字节
2006年 十一月 21 2380 3526 6076 568.01 M字节
2006年 十一月 22 2146 3003 5791 458.13 M字节
2006年 十一月 23 2092 3177 6131 518.99 M字节
具体的数据和商业模式分析附后:
我已经放弃了对妮妮的芝华士这篇文章的追赶:截至目前已经有460个留言。这篇文章给服务器带来的负载如果不看日志分析也是很难想像的:
今年以来:通过这个/archives/000445.html 页面找到访问的有 7.7万次 而,网站上hosting的MP3总体流量流量:缺高达57万次(172G流量),这些流量大部分来自跨网站的MP3下载盗链和在线播放器的直接播放:
mp3 Audio file 574061 36.8 % 172.19 G字节 60.1 %
jpg Image 306660 19.6 % 49.93 G字节 17.4 %
html HTML or XML static page 214103 13.7 % 20.93 G字节 7.3 %
css Cascading Style Sheet file 151239 9.7 % 1.80 G字节 0.6 %
rdf 140569 9 % 878.08 M字节 0.2 %
rar Archive 133265 8.5 % 38.63 G字节 13.5 %
200G流量是什么概念?按照目前业内最高性价比的Amazon S3在线存储/发布服务:200G * 0.2$/G = 40$,不要小看这40$,这一个文件的发布费用已经超过了niernier.com网站目前规模靠AdSense可能获得的收入的一半。(年收入¥=日独立用户数),而带宽资源上目前还没有免费的午餐。
浏览器的分布:可以看到有大量来自在线播放的流量。
MS Internet Explorer 否 987915 63.4 %
NetShow Player (media player) 否 286855 18.4 %
Real player or compatible (media player) 否 37872 2.4 %
Windows Media Player (media player) 否 4721 0.3 %
如果仔细分析会发现:很多是包在基于FLASH的在线播放器中的,下载==>在线收听是在线流媒体过去2年最大的变化之一。
盗链对于商业模式的损害:
都是将跳过了MP3发布宿主网页的浏览:除了提供带宽下载外,MP3宿主网站没有可能得到任何收益(因为潜在收益主要来自发布MP3的页面上的广告)。 目前各种新型模式中:无论是免费视频网站之所以能成为一种模式:都是因为有了在flash播放器中能在视频介绍页面和通过flash在视频播放前后(中)插入广告的机会。所以如果没有宿主网站flash的包装,就必须将所有没有看过宿主网站页面的MP3和RAR下载请求转向回宿主网站页面(只有通过宿主网站页面才能进行MP3在线下载试听)。如果不能将这些MP3盗链流量转换成看页面PV,网站自身就是数量级的收入损失。
缺点:
宿主站内的在线播放器也无法支持了(播放器不传REFERER),但是鱼和熊掌不可兼得,等未来播放器也支持referer标准吧……
一个可能的办法就是:允许所有的播放器,只对浏览器、蜘蛛、抓取器等进行站外控制;
多个RewriteCond 之间是AND的关系
我下载的版本是5.5.2 alpha版,配置好jDlog后打开首页,满屏的异常信息,仔细看看这些信息发现出错的原因是标签中使用了中文参数的缘故,例如:
<html:link page="/" title="返回首页">首页</html:link>
把中文参数去掉后发现页面还是全部乱码,尽管每个页面都有
<%@ page language="java" contentType="text/html;charset=GBK" %>
但事实上它好像没有起作用,看来问题出在Tomcat本身对JSP文件的解析上了,根据以往的经验打开{tomcat}\conf\web.xml,找到下面一段并加入红色部分的内容
复制内容到剪贴板 程序代码
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>javaEncoding</param-name>
<param-value>GBK</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>javaEncoding</param-name>
<param-value>GBK</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
重新启动Tomcat后发现还是有些乱码,但是中文参数的问题已经不再出错,删除{tomcat}\work目录下的文件后,再次打开页面,所有的问题都解决了。
Apache上的防图片/mp3盗链配置:mod_rewrite it
作者:车东 发表于 November 22, 2006 6:15 PM 最后更新于 November 25, 2006 9:44 PM
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://www.chedong.com/blog/archives/001240.html
Apache上的防mp3盗链的参考配置如下:
复制内容到剪贴板 程序代码
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?niernier\.com/.*$ [NC]
RewriteRule \.(mp3|rar)$ http://www.niernier.com/archives/000445.html [R=301,L]
#RewriteLog "logs/rewrite.log"
#RewriteLogLevel 3
RewriteCond %{HTTP_REFERER} !^http://(www\.)?niernier\.com/.*$ [NC]
RewriteRule \.(mp3|rar)$ http://www.niernier.com/archives/000445.html [R=301,L]
#RewriteLog "logs/rewrite.log"
#RewriteLogLevel 3
功能:
不仅屏蔽/禁止非本网站的盗链访问,还将盗链请求转给自身的网站,让读者知道谁是真正的原创作者。
说明:
RewriteCond 条件:意思就是所有的mp3和rar访问如果referer不是本网站niernier.com或www.niernier.com,
RewriteRule 规则:自动转向到原作宿主页: http://www.niernier.com/archives/000445.html
注释掉的部分是测试rewrite engine用的:对于调试mod_rewrite很有用。
效果:字节流量比原来下降一半,网站独立用户访问量上升了1倍
日期 参观人次 网页数 文件数 字节
2006年 十一月 16 685 897 4641 865.99 M字节
2006年 十一月 17 728 1173 5522 1.28 G字节
2006年 十一月 18 648 934 5535 1.46 G字节
2006年 十一月 19 704 1020 7120 1.40 G字节
2006年 十一月 20 882 1176 5286 1.23 G字节
2006年 十一月 21 2380 3526 6076 568.01 M字节
2006年 十一月 22 2146 3003 5791 458.13 M字节
2006年 十一月 23 2092 3177 6131 518.99 M字节
具体的数据和商业模式分析附后:
我已经放弃了对妮妮的芝华士这篇文章的追赶:截至目前已经有460个留言。这篇文章给服务器带来的负载如果不看日志分析也是很难想像的:
今年以来:通过这个/archives/000445.html 页面找到访问的有 7.7万次 而,网站上hosting的MP3总体流量流量:缺高达57万次(172G流量),这些流量大部分来自跨网站的MP3下载盗链和在线播放器的直接播放:
mp3 Audio file 574061 36.8 % 172.19 G字节 60.1 %
jpg Image 306660 19.6 % 49.93 G字节 17.4 %
html HTML or XML static page 214103 13.7 % 20.93 G字节 7.3 %
css Cascading Style Sheet file 151239 9.7 % 1.80 G字节 0.6 %
rdf 140569 9 % 878.08 M字节 0.2 %
rar Archive 133265 8.5 % 38.63 G字节 13.5 %
200G流量是什么概念?按照目前业内最高性价比的Amazon S3在线存储/发布服务:200G * 0.2$/G = 40$,不要小看这40$,这一个文件的发布费用已经超过了niernier.com网站目前规模靠AdSense可能获得的收入的一半。(年收入¥=日独立用户数),而带宽资源上目前还没有免费的午餐。
浏览器的分布:可以看到有大量来自在线播放的流量。
MS Internet Explorer 否 987915 63.4 %
NetShow Player (media player) 否 286855 18.4 %
Real player or compatible (media player) 否 37872 2.4 %
Windows Media Player (media player) 否 4721 0.3 %
如果仔细分析会发现:很多是包在基于FLASH的在线播放器中的,下载==>在线收听是在线流媒体过去2年最大的变化之一。
盗链对于商业模式的损害:
引用内容
对于发布MP3/图片的网站来说,如果MP3/图片被盗链主要是以下2个来源:
MP3搜索引擎 ==> 在线收听/MP3下载
非宿主网页盗链 ==> 在线收听/下载
MP3搜索引擎 ==> 在线收听/MP3下载
非宿主网页盗链 ==> 在线收听/下载
都是将跳过了MP3发布宿主网页的浏览:除了提供带宽下载外,MP3宿主网站没有可能得到任何收益(因为潜在收益主要来自发布MP3的页面上的广告)。 目前各种新型模式中:无论是免费视频网站之所以能成为一种模式:都是因为有了在flash播放器中能在视频介绍页面和通过flash在视频播放前后(中)插入广告的机会。所以如果没有宿主网站flash的包装,就必须将所有没有看过宿主网站页面的MP3和RAR下载请求转向回宿主网站页面(只有通过宿主网站页面才能进行MP3在线下载试听)。如果不能将这些MP3盗链流量转换成看页面PV,网站自身就是数量级的收入损失。
缺点:
宿主站内的在线播放器也无法支持了(播放器不传REFERER),但是鱼和熊掌不可兼得,等未来播放器也支持referer标准吧……
一个可能的办法就是:允许所有的播放器,只对浏览器、蜘蛛、抓取器等进行站外控制;
复制内容到剪贴板 程序代码
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com/.*$ [NC]
RewriteCond %{HTTP_USER_AGENT} !^NSPlayer.*
RewriteCond %{HTTP_USER_AGENT} !^Windows.*
RewriteCond %{HTTP_USER_AGENT} !^NSPlayer.*
RewriteCond %{HTTP_USER_AGENT} !^Windows.*
多个RewriteCond 之间是AND的关系
评论: 0 | 引用: 0 | 查看次数: 485
发表评论