sql注入】浅谈JSP安全开发之SQL注入

本文转自:i春秋社区

前言
不管是用什么语言编写WEB应用程序,他们都或多或少有一些地方存在漏洞。如果你想知道漏洞的运行原理,和防御方案,那么请看完本篇文章。
目录
第一节 注入攻击原理及防御
         1.1、什么是SQL注入
         1.2、SQL注入演练
         1.3、如何防御SQL注入
正文
第一节 注入攻击原理及防御
1.1、什么是SQL注入
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
1.2、SQL注入演练
Servlet普及
   1.Servlet简介
    Servlet是sun公司提供的一门用于开发动态web资源的技术。
    Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
    1、编写一个Java类,实现servlet接口。
    2、把开发好的Java类部署到web服务器中。
    按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet
   2.Servlet的运行过程
       Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
      ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
      ②装载并创建该Servlet的一个实例对象。 
      ③调用Servlet实例对象的init()方法。
      ④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
     ⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
    <ignore_js_op> 
  3.Servlet的常用方法
    doPost() 方法
  当一个客户通过 HTML 表单发出一个 HTTP POST 请求时,doPost() 方法被调用。与 POST 请求相关的参数作为一个单独的 HTTP 请求从浏览器发送到服务器。当需要修改服务器端的数据时,应该使用 doPost() 方法。
   doGet() 方法
当一个客户通过 HTML 表单发出一个 HTTP GET 请求或直接请求一个 URL 时,doGet() 方法被调用。与 GET 请求相关的参数添加到 URL 的后面,并与这个请求一起发送。当不会修改服务器端的数据时,应该使用 doGet() 方法。
我们来看一段JSP代码中的【登陆验证】
login.jsp核心代码

想获取更多核心代码,请看全文》》》原文地址:http://bbs.ichunqiu.com/thread-9958-1-1.html

想获取

最新文章

  1. 看图理解JWT如何用于单点登录
  2. Url和Uri的区别
  3. PBOC~PPT-补充内容B(转)
  4. BZOJ3881 : [Coci2015]Divljak
  5. PIVOT 用于将列值旋转为列名
  6. DICOM标准相关资料
  7. 零成本实现接口自动化测试 – Java+TestNG 测试Restful service
  8. C++ 中的返回值
  9. bzoj 1412 [ZJOI2009]狼和羊的故事(最小割)
  10. Android SimpleAdapter源码详解
  11. zoj 1134 - Strategic Game
  12. OC基础了解篇
  13. APP测试常用工具以及框架
  14. POJ 1125-Stockbroker Grapevine-最短路
  15. 用 threading 写多线程服务器
  16. vuex、redux、mobx 对比
  17. python django 更改模型字段出错时的一个解决办法
  18. 【连接查询】mySql多表连接查询与union与union all用法
  19. vsftpd配置文件丢失
  20. Maven入门-1.介绍及搭建开发环境

热门文章

  1. angular $digest 运行10次货10次以上会抛出异常
  2. Requset模块
  3. python 字符串 转 bit, bitarray 异或加密
  4. asp.net上传图片到服务器
  5. 【Java】基本数据类型
  6. python基础入门之对文件的操作
  7. Scrum冲刺阶段5
  8. jquery学习总结12-24
  9. 浅谈React数据流管理
  10. qt网络通讯出现中文乱码