﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-我是void-随笔分类-Squid</title><link>http://www.blogjava.net/void241/category/33573.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 28 Jun 2009 02:51:10 GMT</lastBuildDate><pubDate>Sun, 28 Jun 2009 02:51:10 GMT</pubDate><ttl>60</ttl><item><title>批量清除Squid缓存的小工具</title><link>http://www.blogjava.net/void241/archive/2009/06/26/284230.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Fri, 26 Jun 2009 02:17:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2009/06/26/284230.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/284230.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2009/06/26/284230.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/284230.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/284230.html</trackback:ping><description><![CDATA[很实用的一个清除squid缓存的小工具：<br />
http://www.wa.apana.org.au/~dean/squidpurge/<br />
<br />
wget http://www.wa.apana.org.au/~dean/sources/purge-20040201-src.tar.gz<br />
tar zxvf purge-20040201-src.tar.gz<br />
cd purge<br />
make<br />
[root@cache purge]# ./purge -help<br />
### Use at your own risk! No guarantees whatsoever. You were warned. ###<br />
<br />
$Id: purge.cc,v 1.17 2000/09/21 10:59:53 cached Exp $<br />
Usage: purge&nbsp;&nbsp; [-a] [-c cf] [-d l] [-(f|F) fn | -(e|E) re] [-p h[:p]]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [-P #] [-s] [-v] [-C dir [-H]] [-n]<br />
<br />
-a&nbsp;&nbsp;&nbsp;&nbsp; display a little rotating thingy to indicate that I am alive (tty only).<br />
-c c&nbsp;&nbsp; squid.conf location, default "/usr/local/squid/etc/squid.conf".<br />
-C dir base directory for content extraction (copy-out mode).<br />
-d l&nbsp;&nbsp; debug level, an OR of different debug options.<br />
-e re single regular expression per -e instance (use quotes!).<br />
-E re single case sensitive regular expression like -e.<br />
-f fn name of textfile containing one regular expression per line.<br />
-F fn name of textfile like -f containing case sensitive REs.<br />
-H&nbsp;&nbsp;&nbsp;&nbsp; prepend HTTP reply header to destination files in copy-out mode.<br />
-n&nbsp;&nbsp;&nbsp;&nbsp; do not fork() when using more than one cache_dir.<br />
-p h:p cache runs on host h and optional port p, default is localhost:3128.<br />
-P #&nbsp;&nbsp; if 0, just print matches; otherwise OR the following purge modes:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x01 really send PURGE to the cache.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x02 remove all caches files reported as 404 (not found).<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0x04 remove all weird (inaccessible or too small) cache files.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 and 1 are recommended - slow rebuild your cache with other modes.<br />
-s&nbsp;&nbsp;&nbsp;&nbsp; show all options after option parsing, but before really starting.<br />
-v&nbsp;&nbsp;&nbsp;&nbsp; show more information about the file, e.g. MD5, timestamps and flags.<br />
<br />
1.清除URL中包含jackbillow.com的所有缓存<br />
./purge -p 127.0.0.1:80 -P 1 -se 'jackbillow.com'<br />
<br />
2.清除 URL 以&#8220;.mp3&#8221;结尾的缓存文件，例如：<a href="http://www.s135.com/abc.mp3" target="_blank">http://www.jackbillow.com/abc/test.mp3</a><br />
./purge -p 127.0.0.1:80 -P 1 -se '\.mp3$'<br />
<img src ="http://www.blogjava.net/void241/aggbug/284230.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2009-06-26 10:17 <a href="http://www.blogjava.net/void241/archive/2009/06/26/284230.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Squid缓存命中率调整惨痛教训</title><link>http://www.blogjava.net/void241/archive/2009/06/26/284229.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Fri, 26 Jun 2009 02:16:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2009/06/26/284229.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/284229.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2009/06/26/284229.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/284229.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/284229.html</trackback:ping><description><![CDATA[<p>公司的网站使用Squid 2.6STABLE2作缓存加速服务器，缓存的命中率一直不好，最好也只能达到90%，折腾了许久，终于发现影响最大的原来只是一个小参数，不过期间也学到了不少东西~</p>
<p>起初，考虑缓存命中率不高，考虑是不是给Squid的内存不够，所以就加大了内存配置，2G内存的机器给Squid 1G用，测试了两天，结果基本没有什么大的改变；于是调整refresh_pattern的参数，增大内容缓存时间，测试了两天，效果也不理想。</p>
<p>从kxn的文章中知道可以使用Expires模块让Apache给文件指定缓存时间，期望可以提高缓存性能，于是在服务器上：<br />
ExpiresActive On<br />
ExpiresDefault A2592000<br />
结果第二天一早发现缓存命中率竟然比前一天还下降了2个百本点，有点晕了~</p>
<p>于是将cachemgr配置起来，详细地检查squid的运行状况，发现1G的内存缓存实际只用了不到300M，所以显然不是内存不够的问题。</p>
<p>为了充分利用内存，将maximum_object_size_in_memory调大到128KB，让其可以缓存更大的文件，而不是默认的8KB。顺手将ufs换成aufs，启用异步IO。</p>
<p>之后情况稍有改善，1个小时之后，内存的占用达到了1G，但命中率并没有明显上升。</p>
<p>于是又调整了内存的覆盖策略（memory_replacement_policy），听从kxn的教诲，使用lru，发现变化不大，也许是我们的访问量还不大的原因吧。</p>
<p>这时候缓存命中率仍然在90%以下徘徊。是不是我们的网站结构影响只能达到这么高呢？但是网站结构我没有办法改变，所以还是要从其他方面入手来解决问题。</p>
<p>于是使用Cache Manager 仔细的查看各个统计数据，当看到In-Memory and In-Transit Objects项目时，发现一个问题，那就是所有的网页文件都显示NOT_IN_MEMORY，这就比较奇怪了，问什么访问量最大的网页文件竟然没有被缓 存到内存呢？是因为文件太大还是因为文件请求的数量太少，所以才没有被缓存呢？于是找了一个页面作测试，使用工具查看了返回的大小，只有40K多一些，与 我的maximum_object_size_in_memory最大值128KB还有相当大的差距，所以不可能是这个原因。于是有使用ab程序对这个页 面做了1000次请求，心想这下总会缓存了吧。可是查看缓存内容，依然没有，而且不但内存中没有，就连硬盘上也没有！</p>
<p>至此得出结论，一定是什么原因阻止了Squid对这些网页进行缓存。仔细的检查In-Memory and In-Transit Objects中的内容，发现IN_MEMORY 状态的对象基本都是jpg和gif图像文件，html,css等文本文件内容则都没有缓存。</p>
<p>这两种文件有什么不同吗？记忆中Squid也没有对这些文件类型的设定呀，refresh_pattern对所有的静态文件的设置也都是一致的，所以差异不应该来源于squid本身——也就是因为这种记忆使得我后来多费了许多的功夫~</p>
<p>在Apache上找到了文本文件与图像文件之间设置的差异——deflate压缩。是不是所有使用deflate压缩的内容都不会缓存呢？使用同样 的squid软件版本及配置文件，相同的Apache软件版本和配置，快速的搭建了一套测试环境。squid只有1台，重建其磁盘缓冲区，重新启动 squid，观察内存中对象的变化。果然，对于deflate压缩的内容，squid内存中没有缓存，磁盘也找不到。停止apache的deflate功 能，重新请求页面，立即在squid的内存中查到了内容的缓存，这么看来是squid和deflate不太兼容了？</p>
<p>好吧，先将产品环境Apache的deflate停掉，过了一段时间，有两台squid的缓存命中了提高到了94%，虽然只提升了4个百分点，但是这充分验证了squid和deflate不兼容的观点。</p>
<p>然而，事情到此才刚刚开始！</p>
<p>难道Squid真的无法缓存deflate压缩的页面吗？好吧google一下，squid+deflate，在squid的邮件列表中找到了一些 讨论deflate的东西，属于比较古老的吧，说因为deflate压缩之后，会产生Content-Encoding: gzip这样的HTTP头部，属于HTTP/1.1的内容，而Squid并不完全兼容HTTP/1.1之类的，需要用Transfer-Encoding 之类的代替，可是mod_deflate和mod_gzip产生的头部就是Content-Encoding，怎么办？</p>
<p>为了解决这个问题，引入了另一个Apache的模块，mod_headers，用它来改写HTTP应答的头部，将Content-Encoding更改给Transfer-Encoding，可是，很自然的，页面一片乱码！说明此路不通啊！</p>
<p>又以Content-Encoding为关键字，快速的搜索了一下squid 2.6STABLE2的源代码，也没有发现几个地方用到这个东西，无果。</p>
<p>继续Google之，squid+can&#8217;t cache+Content-Encoding找到一篇文章，其中说&#8217;SQUID would never bother to cache ANYTHING that had<br />
a &#8220;Vary:&#8221; header on it.&#8217; 看来Squid缓存内容与Vary: 头部有关系。再次检查一下HTTP请求返回的头部内容，发现对于deflate压缩的内容，拥有&#8221;Vary: Accept-Encoding&#8221;这样一个头部，而没有经过deflate压缩的内容则没有这个头部，这次看来问题比较清楚了，因为deflate压缩添 加了Vary: Accept-Encoding这个头部，导致了内容无法被squid缓存。</p>
<p>那么难道真的没有办法让squid缓存deflate压缩之后的内容吗？</p>
<p>基于上面的经验，很自然的想到使用mod_headers模块的功能将Vary头抹掉Squid不就可以缓存了吗？后来一想，这样会有其它问题： 1)如果用户浏览器不支持gzip压缩功能，那么将无法正常的浏览网页；2)其它可能很重要的Vary内容也没有了，可能会导致更大的隐患。那么这种办法 不行。</p>
<p>还有其它的办法吗？再次的快速搜索了Squid的源文件中关于Vary的内容，在Changelog中找到了这么一条：<br />
- Full ETag/Vary support, caching responses which varies with request details (browser, language etc).<br />
也就是说已经完全支持带ETag/Vary头部的内容缓存了。这一条出现在Changes to squid-2.6.STABLE1，也就是说在Squid2.6STABLE1就已经完全实现了这个功能，那么2.6STABLE2应该没有问题，会不 会是2.6STABLE2的BUG呢，查询了一下2.6系列的所有Changelog，没有提到此故障的信息。推断我们的故障要么由一个未知BUG导致， 要么是自己配置不当。BUG的问题我无法确认，只能先从配置入手。</p>
<p>找来一份2.6STABLE2带的默认配置文件，搜索Vary，第一条：<br />
# TAG: cache_vary<br />
# Set to off to disable caching of Vary:in objects.<br />
#<br />
#Default:<br />
# cache_vary on<br />
难道我的配置文件是off不成？赶紧检查，发现还真是off，sign，原来就是这个问题折磨我，改成on，将Apache的Deflate配置启用，再观察内存对象，发现静态网页真的被缓存了！</p>
<p>郁闷了许久，终于可以松口气了。</p>
<p>过了一会儿，再查看Squid的状态，发现缓存命中率没有下降，稳定在94%左右。</p>
<p>也许Squid还有什么可挖掘的空间吧，改天接着折腾！</p>
<p>后记：Squid对Vary和Etag的支持属于2.6的一项主要改进，这一特性改进Squid对HTTP/1.1标准的支持。在将Squid升级 至2.6之前，也看过他的Changelog，但当时并不明白Vary到底有什么用途，这么一折腾，明白了不少。看来应该把HTTP/1.1的标准再好好 研读一下。</p>
<p><br />
本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/chinalinuxzend/archive/2007/09/12/1781563.aspx</p>
<img src ="http://www.blogjava.net/void241/aggbug/284229.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2009-06-26 10:16 <a href="http://www.blogjava.net/void241/archive/2009/06/26/284229.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Squid上建立SSL代理转发</title><link>http://www.blogjava.net/void241/archive/2008/08/28/225396.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Thu, 28 Aug 2008 11:33:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2008/08/28/225396.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/225396.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2008/08/28/225396.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/225396.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/225396.html</trackback:ping><description><![CDATA[<p>今天测试了一下在squid上建一个ssl代理转发.其实也蛮容易的.</p>
<ol>
    <li style="text-align: left">https_port 443 cert=/etc/squid/SSL.CRT key=/etc/squid/SSL.KEY defaultsite=ssl.php-oa.com
    <li style="text-align: left">cache_peer ssl.php-oa.com parent 80 o no-query no-digest originserver name=www
    <li style="text-align: left">cache_peer_homain www .php-oa.com </li>
</ol>
<p>其实真的很容易.是吧.有个https_port和cache_peer加上那个ssl的地址基本就好了.记的https_port要加defaultsite.不加会下面错</p>
<p>The following error was encountered:</p>
<p><strong>Invalid Request</strong></p>
<p>Some aspect of the HTTP Request is invalid. Possible problems:</p>
<p>Missing or unknown request method</p>
<p>Missing URL</p>
<p>Missing HTTP Identifier (HTTP/1.0)</p>
<p>Request is too large</p>
<p>Content-Length missing for POST or PUT requests</p>
<p>Illegal character in hostname; underscores are not allowed</p>
<p>注</p>
<p>可以使用下面命令可以生成测试用的证书：</p>
<p>openssl req -new -keyout key.pem -nodes -x509 -days 365 -out cert.pem</p>
<p>&nbsp;</p>
<p>如果要生成一个证书请求用于申请正式证书请用下面两个命令：</p>
<p>1.生成私钥 openssl genrsa -out key.pem 1024<br />
2.生成待签名证书 openssl req -new -out req.csr -key key.pem</p>
<p>然后将req.csr文件中的内容提交给证书颁发机构。</p>
<img src ="http://www.blogjava.net/void241/aggbug/225396.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2008-08-28 19:33 <a href="http://www.blogjava.net/void241/archive/2008/08/28/225396.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux Squid安装调试中常用命令介绍</title><link>http://www.blogjava.net/void241/archive/2008/08/08/220798.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Thu, 07 Aug 2008 16:52:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2008/08/08/220798.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/220798.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2008/08/08/220798.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/220798.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/220798.html</trackback:ping><description><![CDATA[<p>　　<span style="color: #3366ff">1、</span><span style="color: #3366ff">初始化你在 squid.conf 里配置的 cache 目录</span></p>
<p>　　#squid/sbin/squid -z //第一次启动squid服务时必须输入此命令</p>
<p>　　如果有错误提示，请检查你的 cache目录的权限。</p>
<p>　　<span style="color: #3366ff">2、对你的squid.conf 排错，即验证 squid.conf 的 语法和配置。</span></p>
<p>　　#squid/sbin/squid -k parse</p>
<p>　　如果squid.conf 有语法或配置错误，这里会返回提示你，如果没有返回，恭喜，可以尝试启动squid。</p>
<p>　　<span style="color: #3366ff">3、在前台启动squid，并输出启动过程。</span></p>
<p>　　#squid/sbin/squid -N -d1</p>
<p>　　如果有到 ready to server reques，恭喜，启动成功。</p>
<p>　　然后 ctrl + c，停止squid，并以后台运行的方式启动它。</p>
<p>　　<span style="color: #3366ff">4、启动squid在后台运行。</span></p>
<p>　　#squid/sbin/squid -s</p>
<p>　　这时候可以 ps -A 来查看系统进程，可以看到俩个 squid 进程。</p>
<p>　　<span style="color: #3366ff">5、停止 squid</span></p>
<p>　　#squid/sbin/squid -k shutdown</p>
<p>　　这个不用解释吧。</p>
<p>　　<span style="color: #3366ff">6、重引导修改过的 squid.conf</span></p>
<p>　　#squid/sbin/squid -k reconfigure</p>
<p>　　这个估计用的时候比较多，当你发现你的配置有不尽你意的时候，可以随时修改squid.conf，然后别忘记对你的 squid.conf排错，然后再执行此指令，即可让运行中squid重新按照你的squid.conf 来运行。</p>
<p>　　<span style="color: #3366ff">7、把squid添加到系统启动项</span></p>
<p>　　编辑 /etc/rc.d/rc.local</p>
<p>　　添加如下行： /usr/local/squid/sbin/squid -s</p>
<p>　　当然，并不是每个人都喜欢这种启动方式，你可以用你最习惯的方式;或者把它安装为服务。</p>
<p>　　再来点其他的。</p>
<p>　　<span style="color: #3366ff">1、修改cache 缓存目录的权限。</span></p>
<p>　　#chown -R squid:squid /home/cache</p>
<p>　　我的cache缓存目录是 /home/cache,squid执行用户和用户组是 squid，squid。</p>
<p>　　<span style="color: #3366ff">2、修改squid 日志目录的权限</span></p>
<p>　　#chown -R squid:squid /usr/local/squid/var/logs</p>
<p>　　这一步并不是适合每一个使用squid的用户.意为让squid有权限在该目录进行写操作 。</p>
<p>　　例如生成 access.log cache.log store.log</p>
<p>　　<span style="color: #3366ff">3、查看你的日志文档。</span></p>
<p>　　#more /usr/local/squid/var/logs/access.log | grep TCP_MEM_HIT</p>
<p>　　该指令可以看到在squid运行过程中，有那些文件被squid缓存到内存中，并返回给访问用户。</p>
<p>　　#more /usr/local/squid/var/logs/access.log | grep TCP_HIT</p>
<p>　　该指令可以看到在squid运行过程中，有那些文件被squid缓存到cache目录中，并返回给访问用户。</p>
<p>　　#more /usr/local/squid/var/logs/access.log | grep TCP_MISS</p>
<p>　　该指令可以看到在squid运行过程中，有那些文件没有被squid缓存，而是现重原始服务器获取并返回给访问用户。</p>
<p>　　关于 TCP_XXXX 等参数及代表的信息，请参看www.chinaunix.org彭勇华《squid中文权威指南》13.2.1 章节。</p>
<p>　　当然，本例中的蓝色文字是可以修改为其他的参数，例如你的域名 www.xxxx.com ，同样可以看到access.log里关于该域名的行。</p>
<p>　　<span style="color: #3366ff">4、squid -k rotate 轮换squid的日志文件/var/log/squid,Squid代理服务器日志文件</span></p>
<p>　　的增长速度是惊人的,很容易点球满磁盘空间导致系统不能正常工作,甚至是死机.为了解决日志文件增长太快的问题,squid采用了"轮换"的方法.在squid.conf中可以通过logfile_rotate来设置文件轮换的个数,如:</p>
<p>　　logfile_rotate 10 ,轮换的工作一般用crontab定时器完在周期性的日志轮换,例如每周六凌晨2:00进行日志轮换,则执行如下命令: crontab -e</p>
<p>　　0 2 * * 6 squid -k rotate</p>
<p>　　小贴士:Squid默认的错误提示信息为英文,对于英文不好的用户来说,实在不方便.在/etc/squid/squid.conf里添加如下:</p>
<p>　　error_directory /usr/share/squid/errors/Simplify_Chinese 即可显示中文的错误提示</p>
<img src ="http://www.blogjava.net/void241/aggbug/220798.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2008-08-08 00:52 <a href="http://www.blogjava.net/void241/archive/2008/08/08/220798.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>squid2.6下的防盗链设置</title><link>http://www.blogjava.net/void241/archive/2008/08/07/220609.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Thu, 07 Aug 2008 03:40:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2008/08/07/220609.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/220609.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2008/08/07/220609.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/220609.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/220609.html</trackback:ping><description><![CDATA[<p>#文件防盗链<br />
acl legalreferer referer_regex ^http://www.linuxbyte.org ^http://[a-z].*\.linuxbyte\.org （受保护的站点和允许的域名）<br />
acl fileurl url_regex -i \.rar$ \.zip$ \.iso$ \.bmp$ \.png$ \.gif$ \.jpg$&nbsp; \.jpeg$ （受保护的文件名后缀）<br />
http_access deny !legalreferer fileurl</p>
<p></p>
<p>#对多媒体文件的防盗链,能让播放器在线播放,但不能盗链.<br />
acl legalplayer browser -i&nbsp; ^windows-media-player&nbsp; ^RealMedia&nbsp; ^Mozilla ^foobar2000 ^nsplayer ^contype$ ^rma<br />
acl mfurl url_regex -i \.wma$ \.wmv$ \.mp3$ \.mp4$ \.flv$ \.avi$ \.asf$ \.mpg$ \.mpeg$ \.rmvb$ \.rm$<br />
http_access allow legalplayer mfurl<br />
http_access deny !legalreferer mfurl</p>
<img src ="http://www.blogjava.net/void241/aggbug/220609.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2008-08-07 11:40 <a href="http://www.blogjava.net/void241/archive/2008/08/07/220609.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>