禁止站外提交表单(author-killer)
在ASP开发中,为了减少服务器端的工作量,我们可以更多地利用JavaScript进行前端验证。通过将表单的提交字段通过JavaScript或VBScript进行预先检测,我们可以避免服务器端的重复工作。这种策略并非无懈可击。因为有可能用户会修改脚本,直接从本地提交数据,这就带来了安全性的问题。我们需要确保提交路径的有效性,避免外部非法提交。以下是相关实现的代码及说明。
为了提高数据传输的安全性并减少服务器的工作负担,我们倡导更多的使用JavaScript进行前端验证。对于所有的表单提交,我们可以在前端先进行一次验证,然后再将数据提交到服务器。这样,服务器只需要对已经通过前端验证的数据进行处理,大大减轻了服务器的工作压力。我们必须意识到,尽管前端验证有其优势,但它并不能完全替代服务器端的验证。因为用户可能会绕过前端验证,直接提交数据。我们需要采取额外的措施来保证数据的安全性和路径的正确性。
在ASP代码中,我们可以通过检查HTTP_REFERER和SERVER_NAME这两个服务器变量来确认提交的路径是否正确。如果提交的路径不符合预期(即不是从我们的站点内部提交的),服务器将返回一个错误信息,提示用户路径有误,并禁止从站点外部提交数据。这样的代码可以命名为check_path.asp并保存起来,每次遇到表单提交时都可以引用它。通过这种方式,我们可以有效地防止非法提交和保护服务器的安全。
代码示例如下:
```asp
<%
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 "
"
response.write "你提交的路径有误,禁止从站点外部提交数据请不要乱该参数!" response.write " |
response.end
end if
%>
```
请注意,这只是一个简单的示例,实际的应用可能需要更复杂的逻辑和更严格的安全措施。我们也应该注意到,虽然服务器端验证非常重要,但我们不能忽视前端验证的优势和必要性。只有将前端验证和服务器端验证结合起来,我们才能最大限度地保证数据的安全性和系统的稳定性。同时为了提高用户体验和减轻服务器压力,我们还应积极利用JavaScript等前端技术进行优化。
编程语言
- 禁止站外提交表单(author-killer)
- 基于构造函数的五种继承方法小结
- .NETCore添加区域Area代码实例解析
- JavaScript实现兼容IE6的收起折叠与展开效果实例
- js实现日历的简单算法
- vue实现中部导航栏布局功能
- php中yum命令用法详解
- 利用BootStrap的Carousel.js实现轮播图动画效果
- 利用Vue.js框架实现火车票查询系统(附源码)
- 再谈Angular4 脏值检测(性能优化)
- JS运动基础框架实例分析
- Vue用v-for给循环标签自身属性添加属性值的方法
- javascript 将共享属性迁移到原型中去的实现方法
- 完美解决phpexcel导出到xls文件出现乱码的问题
- 整合ckeditor+ckfinder,解决上传文件路径问题
- 一个超简单的jQuery回调函数例子(分享)