客户端不可信,服务器端也要做验证

客户端验证不能代替服务器端验证
用户可以直接向服务器发Http请求(比如直接在地址栏中构造请求数据,绕过客户端浏览器检查来干坏事。
客户端校验是为了很好的客户端体验,服务器端校验是最后一次把关,防止恶意请求。

一个都不能少。 jQuery Validator+服务器端校验是不错的开发模式。

记住数据可以改哦

客户端藏起来、不显示也不一定安全。不要轻信用户提交上来的数据:
比如控制有的数据能删除、有的数据不能删除,如果只是隐藏不能被删除的数据,
而把id作为删除参数传递,就可能有问题。

Http报文的UserAgent、Referer、Cookie等都是可以造假的,
不要相信这些可能会造假的数据。

ValidateRequest
ASP.NET4.0之后会对ashx检测中默认对请求的数据进行了校验,
如果数据中有<、>等有潜在XSS供给的字符,则会报错。对于一些
CMS系统等确实需要提交HTML内容的地方要关闭它,修改web.config,
在<system.web>节点中接入<httpRuntime requestValidationMode="2.0" />
把验证变更为2.0模式。(*.aspx在页面顶部的Page中还要加入
ValidateRequest="false")

这样的功能只能开放给网站编辑、系统管理员等可信的人,对于普通网友不能开放。为什么?
什么是XSS,(跨站脚本,Cross-site scripting)。

CKEditor和UEditor(百度)等很多编辑样式的第三方控件。




摘自:传智播客视频教材

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值