前后、端都要检查使用者输入
许多程序开发人员喜欢用JavaScript来检查使用者输入的内容,虽然透过正规表达能检视出一些不正常的语法,然而如果heike将页面储回自己的计算机,或是透过JavaScript语法修改DOM,就能移除掉这些检查机制。
因此前端做过的检查工作,丢给后端程序之前,仍必须查验一遍,千万不要以为前端做过检查,就可以放行。
2.过滤使用者输入内容
目前网站安全最常见的问题,莫过于SQL Injection和XSS攻击手法,而这两个攻击的源头,都来自于没有妥善过滤由使用者传来的数据,除了输入数据之外,包含cookie、参数都可能成为heike利用的工具。
这些攻击手法都包含一些特定字符,像是「'」、「`」、「 "」、「 <」、「 >」、「 %xx」、「\0xx」等,因此在任何使用者可以传递字符的地方,都要设下检查的机制,过滤数据中是否包含这些特殊字符,将特殊字符进行转化,例如将 「'」转换成「'」或「<」转换成「<」。
3.妥善处理错误讯息
有许多程序开发人员对于错误处理不够细心,导致脚本语法或数据库发生错误时,直接让错误码呈现在浏览器,错误信息对一般的使用者没什么意义,但往往会给heike带来许多参考价值。
4.检查上传内容
由于Web 2.0带来的强调分享机制,因此也越来越多网站允许使用者上传数据。然而heike有可能在上传的档名上动手脚,如果不加以检查,就有可能执行对网站有所危害的脚本程
阅读(333) | 评论(0) | 转发(0) |