.net 面试题(每日三题)

2022111

目录

一、什么是sql 注入?如何避免sql 注入?

二、AJAX 解决什么问题?如何使用AJAX?AJAX 有什么问题需要注意?项目中哪里用到了AJAX?(扩展选做:不用任何框架编写一个AJAX 程序。XHR:XmlHttpRequest。背也要背下来!)

三、开放式问题:你经常访问的技术类的网站是什么?


一、什么是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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值