2022年11月1日
目录
一、什么是sql 注入?如何避免sql 注入?
sql注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库执行一些恶意的操作
造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码
防止策略
1.严格限制Web应用的数据库的操作权限,给此用户提供仅仅能够满足其工作的最低权限,从而最大限度的减少注入攻击对数据库的危害
2检查输入的数据是否具有所期望的数据格式,严格限制变量的类型
3.对进入数据库的特殊字符(’”\尖括号&*;等)进行转义处理,或编码转换。
在应用发布之前建议使用专业的SQL注入检测工具进行检测,以及时修补被发现的SQL注入漏洞。网上有很多这方面的开源工具,例如sqlmap、SQLninja等。
二、AJAX 解决什么问题?如何使用AJAX?AJAX 有什么问题需要注意?项目中哪里用到了AJAX?(扩展选做:不用任何框架编写一个AJAX 程序。XHR:XmlHttpRequest。背也要背下来!)
AJAX解决的问题就是“无刷新更新页面”
1,创建异步对象
var xmlHttp=new XMLHttpRequest();
或 var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP")
2,加载要获取的服务器页面
xmlHttp.open(Method,URL)
3,判断异步调用的状态onreadystatechange事件中判断xmlHttp.readyState和xmlHttp.Status
4,发送异步请求
xmlHttp.send();
————————————————
AJAX解决的问题就是“无刷新更新页面”,用传统的HTML表单方式进行页面的更新时,每次都要将请求提交到服务器,服务器返回后再重绘界面,这样界面就会经历:提交→变白→重新显示这样一个过程,用户体验非常差,使用AJAX则不会导致页面重新提交、刷新。
AJAX最本质的实现是在Javascript中使用XMLHttpRequest进行Http的请求,开发中通常使用UpdatePanel、JQuery等方式简化AJAX的开发,UpdatePanel的方式实现AJAX最简单,但是数据通讯量比较大,因为要来回传整个ViewState,而且不灵活,对于复杂的需求则可以使用JQuery提供的ajax功能。
编写JS实现JS原生ajax功能
function fn1() {
//发送异步请求
//1.创建ajax引擎对象----所有操作都是由ajax引擎完
var xmlHttp = new XMLHttpRequest();
//2.为引擎对象绑定监听事件
xmlHttp.onreadystatechange = function() {
//当状态变化时处理的事情
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
//5.接收响应信息
var data = xmlHttp.responseText;
//alert(data);
document.getElementById("span1").innerHTML=data;
}
}
//3.绑定服务器地址
//第一个参数:请求方式GET/POST
//第二个参数:后台服务器地址
//第三个参数:是否是异步 true--异步 false--同步
xmlHttp.open("GET", "${pageContext.request.contextPath}/ajaxServlet?username=zhangsan",true);
//4.发送请求
xmlHttp.send();
}
三、开放式问题:你经常访问的技术类的网站是什么?
博客园和CSDN