网站运营
位置:首页>> 网站运营>> asp防止站外提交数据方法

asp防止站外提交数据方法

 来源:asp之家 发布时间:2007-11-02 13:26:00 

标签:站外提交,表单,asp

在asp编程中表单提交的数据如果不做任何处理,将存在安全隐患,很容易被人入侵注入。表单提交数据的安全处理除了要过滤必要的SQL注入字符外,最好先禁止掉站外提交。

什么是站外提交?我个人理解是访客没有通过同一个网站的指定页面,访问要提交的页面。例如访客直接在浏览器中输入了地址;或者访客自己构造了一个表单页面,而这个表单页面在本地或在其它网站,而处理表单的页面是来自你的网站的。这个都应该叫站外提交。

站外提交的有什么危害?正常情况下我们设计一个表单,如果你的表单数据的合法性验证都在客户端处理的话,有些不怀好意的人,他就可能会通过自己设计类似的表单绕过验证,通过站外提交从而攻击你的系统。

当然我们限止站外提交数据,也只是一个相对的安全措施,不可能设置了站外提交就安全了,但是只要各种小小的安全防范都加起来,你的系统的安全性就高了。

下面的这个代码作者:killer,原理就是判断来源页面是否来自你的网站。

<%
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
response.write "<br><br><center><table border=1 cellpadding=20 bordercolor=black bgcolor=#EEEEEE width=450>" response.write "<tr><td style='font:9pt Verdana'>"
response.write "很抱歉,我们禁止从站点外部提交数据,请从正常页面来访问我们的网站,谢谢合作!"
response.write "<p><a href='http://www.aspxhome.com'>返回asp之家首页</p>"
response.write "</td></tr></table></center>"
response.end
end if
%>

不是就给出提示信息,实际使用时可以将这段代码存为一个asp页面需要时调用,或者把这一点加在一个通用的页面中如你链接数据库的页面,也可以封装为函数,需要时调用这个函数就可以了。

相关安全文章推荐:SQL注入原理详细分析 
 

0
投稿

猜你喜欢

手机版 网站运营 asp之家 www.aspxhome.com