XSS攻击
利用js进行攻击,通常会在服务端没有对< >
进行转义的时候发生。导致黑客可以在别人的浏览器上运行任意的js代码。通过<script>while(true) {alert("gggggg")}</script>
解决方案:
在网页内容输出的时候做转义,将所有的< >
进行转义。转成 < >
;
sql注入
利用服务端拼接sql字符串的漏洞,提交类似1 or 1=1
的信息进行注入。甚至还会导致服务端数据泄露,被任意篡改。
解决方案:
sql预编译, db.precompile("select * from user where username=? and pwd=?", uname, pwd)
这样的话再次传入1 or 1=1
,会把这部分当做一个字符串类型的整体,不会再出现sql注入问题