只有浏览器才可以访问页面,用其它工具出现403, 如curl -I http://chenlb.iteye.com要返回403,浏览输入那网址就可以访问,可能curl可以模仿浏览器(此情况先不管).如果这样做是否能起到一点防攻击?
要实现上面功能,那大概应该如果实现? 比如用Tomcat或Apache或lighttpd做服务器.
只有浏览器才可以访问页面,用其它工具出现403, 如curl -I http://chenlb.iteye.com要返回403,浏览输入那网址就可以访问,可能curl可以模仿浏览器(此情况先不管).如果这样做是否能起到一点防攻击?
要实现上面功能,那大概应该如果实现? 比如用Tomcat或Apache或lighttpd做服务器.
浏览器会在发送request的时候,在head部分加一些东西,比如浏览器版本和操作系统版本(User-Agent),如果是是用手机,还可能有手机号。所以如果你用比如socket之类的方式可能就忽略了这些内容,如果server端验证这些信息,自然就无法访问了。在servlet中request.getHeader("User-Agent")可以得到用户的浏览器与操作系统的信息。比如如果用firefox则会得到[code="java"]Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11[/code]
所以如果要判断是否是浏览器发来的信息,只用判断request.getHeader("User-Agent")得到的字符串中是否包含Firefox与IE或Opera或者其他你知道的浏览器名称。就可以了。