网络相关:域名,服务器,等。

CSS中的position之高阶应用

Published by spyrise, at 14:46, 2008/12/13. Category: IT技术 » 网络应用

Dec

13


自己玩HTML也有些年头了。今天在分析一段CSS代码时,突然发现,原来CSS中的position如果设置为absolute时, 也是可以不参考整个浏览器框架的。这同样是CSS相对定位的一句语法,但它用了position:absolute。

当父对象的position为absolute或relative的时候。子对像如果设置了position为absolute,则top、left、right、bottom相对于父对象。说白了,只要你对象有了明确的position声明(不管是absolute还是relative),则此时子对象的定位是相对父对象而言的。

Tags: , , , , ,

Apache Mod_Rewrite的强大功能之一——.htaccess防盗链

Published by spyrise, at 19:02, 2008/12/05. Category: IT技术 » 网络应用

Dec

5


Apahce是个很NB的WWW服务器,其下的Mod_Rewrite更是一个异常NB的模块。

今天谈一下Mod_Rewrite的强大功能之一——.htaccess防盗链功能。

比如你有一个网站,拥有spyrise.com,spyrise.cn,spyrise.org三个域名。为了达到图片防盗链的目的,可以在根目录下面建一个.htaccess文件,内容如下:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !spyrise.com [NC]
RewriteCond %{HTTP_REFERER} !spyrise.cn [NC]
RewriteCond %{HTTP_REFERER} !spyrise.org [NC]


RewriteRule .(jpg|gif|png|bmp|swf|jpeg) /error.gif [R,NC,L]

RewriteRule ^(.*)$ http:\/\/image.spyrise.cn\/image\/$1 [L]

蓝色部分,是判断是否盗链。如果以上条件都成立(即访问图片的请求,既不是直接输入网址,也不是来自spyrise.com,也不是来自spyrise.cn,也不是来自spyrise.org的话),就执行下列转向。

红色部分,是让所有盗链 img 目录下 jpg、gif、png、bmp、swf、jpeg 文件的网页,显示的图片都用根目录下的 error.gif 图片替换掉。注意替换显示的图片不要放在设置防盗链的 img 目录下。如果照上面的规则判断出图片请求不是盗链的,就执行以下转向。

绿色部分,是对 img 目录下所有的请求都转向到目标服务器,比如有个图片原来的 url 是 http://www.spyrise.cn/img/girl.jpg ,现在就会转到 http://image.spyrise.cn/image/girl.jpg 去。当然了你得先把原服务器 img 目录下的文件统统拷贝到临时服务器的 image 目录下,转向才会真正可用。起到的效果就是把原服务器图片下载所占用的流量统统省下,让临时服务器来承受了。

但要注意Mod_Rewrite模块会使Apache性能略有下降,不过比起Mod_Rewrite带来的好处,这点也不算什么了,呵呵。

Tags: , ,

如何做到图片批量下载?

Published by spyrise, at 15:44, 2008/11/27. Category: IT技术 » 网络应用

Nov

27


谈到批量下载,你能想到什么?我猜你第一个想到FlashGet。还有人说什么?迅雷?呵呵,看来我们不是同一年代的人。如果你不会使用FlashGet的批量下载功能,请Google一下。我今天不是来讲FlashGet的批量下载功能的。不过,还是简单地带一笔,放一张图上来。它的缺点是要出现有规律的URL。

接下来,我们来假设一下,你打开一个页面,里面全部是漂亮的图片,你很喜欢,想把它们全部下载下来。怎么办?

有三种方法:
1)FlashGet的站点资源器功能。
2)Firefox + CacheView插件。
3)Wget命令行下载。

1)FlashGet的站点资源器无疑是个很强大的功能,但却带有两个缺点:a) 只能使用HTTP/FTP打头的协议。这对本地的HTML文件带来了不方便。不过,我们可以把文件上传到网上。b) 对DHTML支持不好,毕竟DHTML太复杂了。普通的HTML比较容易。使用方法很容易,按F7,跳至站点资源管理器,输入URL,右侧窗口中会出现该网页中所使用的资源,按文件类型或URL排序,挑图片下载就可以了。

2)Firefox + CacheView插件。光Firefox的右键”查看页面信息“->”媒体“->你就可以看到所有的图片信息。但是Firefox不让你将图片一次性下载。只能一个一个点击”另存为“。这样对多图的网页来说,太累人了。不过,没关系,你可以在Firefox上安装一个叫CacheViewer的插件,下载地址是: http://addons.sociz.com/firefox/247/ 。安装后,你在”工具“下面可以找到一个”CacheViewer“的选项。打开后,你可以看到所有的图片,还可以选择全部图片后,一次性保存,即批量保存。不过,推荐你先清光缓存,再重新载入这个页面,再使用CacheViewer,否则与之无关的页片图片也会一并进入眼帘的。

3)Wget是一款起源于Unix/Linux下的命令行下载利器,甚至能配置代理服务器等。具体参数请Google一下。只要你懂得写一个DOS批处理文件,每行写上 wget sourceURL -O output_file ,就可以了。甚至如果你需要HTTP_REFERER变量,可以加上参数 --referor。如:wget http://www.r-file.com/free_photo/r242/sample/1/1.jpg -O 101.jpg --referer=http://www.r-file.com/free_photo/ 。不过每行写一个wget命令行,你需要一定程度地精通Excel,这样你能很快生成一份每行差不多的批处理文件。

下载地址: http://users.ugent.be/~bpuype/cgi-bin/fetch.pl?dl=wget/wget.exe

给一个很NB的DOS批处理脚本代码(估计你一定是第一次看到,嘿嘿):

for /L %%i in (1,1,8) do (
for /L %%j in (1,1,10) do (
wget http://www.r-file.com/free_photo/r244/sample/%%i/%%j.jpg -O %%i-%%j.jpg --referer=http://www.r-file.com/free_photo/
)
)

Tags: , , , , ,

图片/软件防盗链技术的突破

Published by spyrise, at 20:07, 2008/11/26. Category: IT技术 » 网络应用

Nov

26


  常常在一些网站上下载某软件时,会提示“请不要盗链”之类的警告,然后就自动跳回该网站的首页上去了。至少我是经常碰到这种情况的,明明是从google上搜索到后链上去的,却提示我不要盗链,觉得很可笑,也很无奈。

  其实对策也很简单,临时关掉Norton Internet Security(简称为NIS),重新刷一遍这个页面,就能正常下载了。其中的原因是什么呢?我猜想有一种可能是该网站用了cookie认证。但是如果关掉NIS,只要打开一次这个页面,也能下载,说明这不是通过cookie验证的(对WEB/HTTP不太懂的朋友,其中的原因可能一下子听不太懂)。

  还有一种可能是什么呢?是HTTP_REFERRER(由于初期开发人员的拼写错误,这个词在一部分学科中仍被称作HTTP_REFERER。即,少了一个R)。中文可以称作“引用页”。即,验证你先前是从哪个页面上来到当前这个页面的。NIS里面是有这方面的拦截技术在里面的,所以HTTP_REFERRER信息在跳转时被NIS强行截掉了。于是造成了对方判断你是直接下载该软件,而不是通过先打开某网页,然后点击链接下载软件的做法。

  这是一些网站防盗链的做法,由此也看出是一种很失败的做法(对使用NIS的用户来说,非常麻烦,只能通过临时禁用NIS的方法解决)。

  再举一个例子:www.r-file.com。这是一个日本色情网站。比如,打开 http://www.r-file.com/free/view.php?ID=r233&P=0&N=01.jpg ,如果你打开这个网页,可以看到一张图片。右键点击一下,得到图片的URL为: http://www.r-file.com/free_photo/r233/sample/1/01.jpg 。但是,如果你按这个得到的图片URL重载一遍的话,你会得到一个出错的代码:Forbidden: You don't have permission to access /free_photo/r233/sample/1/01.jpg on this server. 匪夷所思吧?嘿嘿。其实这里面就是HTTP_REFERRER在搞鬼,对方网站开了HTTP_REFERRER验证处理。这也是图片下载防盗链的做法。

  下面谈谈如何突破这种防盗链技术。既然问题的根本原因已经找到了,对策也简单:发送HTTP_REFERRER。只可惜要实现这样的功能,一般的HTML/Javascript是办不到的。一、用PHP、Perl等专业的语言才可以达到。二、PHP、Perl之类的太专业,我们手头的一类软件也可以达到:FlashGet。迅雷之类的应该也可以。不过本人只支持FlashGet,毕竟FlashGet才是老牌的下载利器。

  启动Flashget,打开“新建下载任务”页面,“网址”栏里填入“http://www.r-file.com/free_photo/r233/sample/1/01.jpg”,哈哈,点击OK。图片就可以下载了。但是,你有没有注意到“新建下载任务”页面的第二行“引用”栏里(这就是设置HTTP_REFERRER的地方),什么也没设置,为什么就成功了呢?这个你只要看一下FlashGet的日志就明白了。

Wed Nov 26 20:34:24 2008 已连接.
Wed Nov 26 20:34:24 2008 GET /free_photo/r233/sample/1/01.jpg HTTP/1.1
Wed Nov 26 20:34:24 2008 Host: www.r-file.com
Wed Nov 26 20:34:24 2008 Accept: */*
Wed Nov 26 20:34:24 2008 Referer: http://www.r-file.com/free_photo/r233/sample/1
Wed Nov 26 20:34:24 2008 User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Wed Nov 26 20:34:24 2008 Pragma: no-cache
Wed Nov 26 20:34:24 2008 Cache-Control: no-cache
Wed Nov 26 20:34:24 2008 Connection: close
Wed Nov 26 20:34:24 2008 HTTP/1.1 200 OK

  看到了吗?FlashGet有自动添加HTTP_REFERRER的功能。自动添加引用页的功能也可以取消,虽然几乎没人会这么做。设置位置在“选项”->“协议”->“HTTP”部分->“发送引用页”。这个设置是默认是打开的。

   另外提一下,将HTTP_REFERRER设置为http://www.r-file.com/free_photo/r233/sample/1和设置为http://www.r-file.com是相同的。不信你可以自己试试。这只证明访问该图片时是通过访问上述URL后才进行的,即都是来自www.r-file.com。这也是防盗链技术的来源。

   最后提一下,本站的图片及软件下载也都是防盗链的。不过我的博客上没啥特别的东西,别盯住我了。有兴趣研究一下www.r-file.com吧。哈哈。

Tags: , , ,

域名解析中的A记录/MX记录/CNAME记录/URL转发各是什么含义?

Published by spyrise, at 20:53, 2008/11/24. Category: IT技术 » 网络应用

Nov

24


A (Address) 记录
A记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置您域名的二级域名。即:通过A记录,能指定www.yourdomain.com为211.80.51.9,指定ftp.yourdomain.com为211.80.51.10,指定mail.yourdomain.com为211.80.51.11。

MX(Mail Exchange)记录
使用MX记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操作控制所有的邮箱设置。您只需在线填写您服务器的主机名或主机IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。这个大家都明白了吗?就是将你的域名中邮件服务器分开,单独指定其到另一个指定的IP去!比如同样是mydomain.com,如果你设置A记录是指向211.80.51.9,而MX记录你设置是指向211.80.51.10。那么你的DNS服务器接收到别人的邮件路由请求时就将会将它的请求解释到211.80.51.10上去!而别人访问你的网页的时候仍然是访问211.80.51.9。


CNAME(Canonical Name)记录
即别名记录。这种记录允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为 “host.mydomain.com”(A记录)。它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名 (CNAME):WWW和MAIL。这两个别名的全称就是www.mydomain.com/和mail.mydomain.com。实际上他们都指向 host.mydomain.com。

URL转发(URL Forwarding)
如果您没有一台独立的服务器(也就是没有一个独立的IP地址)或者您还有一个域名B,您想访问A域名时访问到B域名的内容,这时您就可以通过URL转发来实现。URL转发可以转发到某一个目录下,甚至某一个文件上。而CNAME是不可以,这就是URL转发和CNAME的主要区别所在。

 

主机A记录直接可以找到主机对应的IP。用CNAME别名的话,先需要找到这个别名对应的主机名,然后再解析IP,多了一个步骤,不过不会差太多,速度一般感觉不出来。 URL转发可以转自某一目录甚至文件上,而CNAME只能转发到某一域名级别上。

Tags: , , , , ,

分页: 1/3 第一页 1 2 3 下页 最后页 [ 显示模式: 摘要 | 列表 ]

日历

统计

其他