页面组件安全防范

1、页面标签必须关闭,属性值必须加引号。

在页面中使用的标签不关闭,属性值不加引号往往成为被攻击点,攻击者很容易的利用这些漏洞进行注入。避免这些漏洞的出现可以提高被攻击的可能。

2、Form提交方式必须选用POST

Form默认的提交方式是Get,这种方式将表单中数据的按照variable=value的形式,使用“?”添加至Action所指向的URL后面,各个变量之间使用“&”连接。所要传递的信息量除受URL长度限制之外,信息内容都显示暴露。

在使用Form的时候必须将提交方式置为POST。示例:

<form action="…" method="post" target="_blank">…</form>

 3、所有的非ASCII字符在URL中传递时都需要按照协商好的编码方式做URL编码。

推荐使用encodeURI、encodeURIComponent或者自定义encode实现。encodeURI、encodeURIComponent默认都返回UTF8编码的URL,区别在于encodeURI方法不会对下列字符进行编码: ":"、"/"、";" 和 "?"。而encodeURIComponent则会对这些字符进行编码处理。

4、尽量使用对象的innerText,不要使用innerHtml属性。

对象的innerText属性默认会对输入的数据进行encode,使得如果数据的数据还有html可执行标记时不会直接执行,而如果使用innerHtml属性的话不会保障。

<SPAN id=”Addr”></SPAN>

<Script>

  // Using innerText renders the content safe.Addr.innerText=”…”;

  //Using innerHtml requires the use of HtmlEncode to make it safe.Addr.innerHtml=””;

</Script>

 5、输入框设置最大长度、输入数据类型限制。

输入框一般是攻击者比较钟意的攻击对象,攻击者可以通过输入框限制不足的弱点进行数据窃取(比如SQL注入)、或者制造迫害(如比XSS)。我们可以通过对输入框最大长度、输入数据类型的限制,从一定程度上防范这样的攻击。我们可以根据实际需求,对一些输入框限定只允许输入字母、数字等。同时对输入的数据长度做限制。

6、关闭客户端自动完成功能,减少驻留在客户端数据。

<FORM … AUTOCOMPLETE=”OFF”/>

<INPUT … AUTOCOMPLETE=”OFF”/>

7、设置<Frame>/<iFrame>受限,防止脚本执行。

将<Frame>/<iFrame>中security属性设置为restricted后, Frame中的脚本将不能执行(仅限于IE)。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值