当前位置: 首页 > news >正文

网站建设信息模板下载网站框架图

网站建设信息模板下载,网站框架图,商城网站模块,宝塔面板wordpress多站点目录 一、什么是SQL注入#xff1f; 二、如何防止#xff1f; 2.1 使用预编译语句 2.2 使用 ORM 框架 2.3 用户输入校验 一、什么是SQL注入#xff1f; SQL 注入是一种常见的网络安全漏洞#xff0c;攻击者通过在应用程序的用户输入中插入恶意的 SQL 代码#xff…目录 一、什么是SQL注入  二、如何防止 2.1 使用预编译语句 2.2 使用 ORM 框架 2.3 用户输入校验 一、什么是SQL注入  SQL 注入是一种常见的网络安全漏洞攻击者通过在应用程序的用户输入中插入恶意的 SQL 代码试图欺骗数据库执行非预期的查询。 SQL 注入导致对数据库的未授权访问、数据泄露、数据损坏、数据库坏甚至完整的数据库被攻陷。 攻击者通常常通过在用户输入中注入 SQL 代码改变应用程序对数据库的查询语句以实现他们的恶意目的。 假设有一个简单的登录系统根据用户提供的用户名和密码进行身份验证。应用程序可能会使用类似以下的 SQL 查询来检查用户是否存在 String query SELECT * FROM users WHERE username userInputUsername AND password userInputPassword ;在这个查询中userInputUsername 和 userInputPassword 是从用户输入中获取的值。如果应用程序不正确处理这些输入它可能容易受到 SQL 注入攻击。 考虑以下情况攻击者在用户名和密码字段中输入了恶意的字符串 Username: OR 11 -- Password: OR 11 --将这些值代入原始的 SQL 查询得到的查询语句变成了 SELECT * FROM users WHERE username OR 11 -- AND password OR 11 --在注入的 SQL 中使用 -- 来注释掉他后面的代码那么我们原来的查询就会返回用户表中的所有记录因为 11 是一个始终为 true 的条件。 如此攻击者可以通过注入这样的恶意字符串绕过身份验证获得对应用程序中所有用户的访问权限甚至执行其他恶意操作。 如果还只是查询的话影响还不大万一是一个 delete 操作被注入了就可能会导致数据库被攻击而导致删除。如下被注入后的 SQL DELETE FROM users WHERE username OR 11; --二、如何防止 2.1 使用预编译语句 使用预编译的语句或参数化的语句而不是通过字符串拼接构建 SQL 查询。这样可以防止攻击者通过在用户输入中插入恶意代码来改变 SQL 查询的结构。 如使用 JDBC 时使用 PreparedStatement 而不是 Statement // 错误的例子容易受到 SQL 注入攻击 String userInput admin; DROP TABLE users;--; String query SELECT * FROM users WHERE username userInput ;// 正确的例子使用预编译语句 String userInput admin; DROP TABLE users;--; String query SELECT * FROM users WHERE username?; PreparedStatement preparedStatement connection.prepareStatement(query); preparedStatement.setString(1, userInput);2.2 使用 ORM 框架 除了 JDBC 以外基本都提倡使用 Hibernate 或 MyBatis 这种 ORM 框架他们都可以自动处理 SQL 查询减少手动拼接 SQL 的机会。 在 MyBatis 中优先使用 #{} 语法而非 ${} 语法。在 MyBatis 中#{} 语法会进行预编译而 ${} 语法是直接将参数的值拼接到 SQL 中容易受到 SQL 注入攻击。因此尽可能的使用 #{} 语法。 2.3 用户输入校验 永远不要相信用户的输入我们需要对用户输入进行验证和过滤确保只有预期的数据被传递给数据库。使用正则表达式或其他合适的方法来检查输入的合法性。 // 例子使用正则表达式验证输入是否为合法的用户名 String userInput request.getParameter(username);if (userInput.matches(^[a-zA-Z0-9]$)) {// 输入合法继续处理 } else {// 输入非法拒绝处理 }
http://www.hkea.cn/news/14572827/

相关文章:

  • 互联网站建设昆明学校网站建设
  • 微信文章转网站wordpress怎么才能成功做网站
  • 济南网站建设的公司移动网站开发入门
  • 北京高端建设网站一件代发48个货源网站
  • 网站可以在手机上做吗机票网站开发知乎
  • 网页制作与网站设计论文台州公司做网站
  • vs2005做网站手机网站软件
  • 手机网站表单验证上海短视频推广公司
  • 做彩票网站被捉将受到什么惩罚哈尔滨网站制作策划
  • 科大讯飞哪些做教学资源的网站如何在yy做电影网站
  • 哪些行业没有做网站中国建筑网校
  • 企业网站建设综合实训心得体会想开一个做网站的公司
  • 做电子购物网站需要申请网站设计布局的重要性
  • 快速生成网站程序电子商务发展现状与趋势
  • 青岛做英文网站的公司招商网站大全
  • 百度网盟推广官网入口seo搜索引擎优化怎么优化
  • 个人网站备案要求ps切图做网站
  • 平面设计的网站有哪些成都网销网站
  • 保安做网站微视看视频领红包下载安装
  • 免费建站建设网站wordpress输入正确密码无法登陆
  • 如何制作一网站wordpress侧边栏折叠菜单
  • 系统网站建设wordpress 播放音频
  • 做一个个人网站的步骤网站建设兼职平台
  • 邹城网站网站建设口碑好的高密网站建设
  • 鹤壁高端网站建设如何做网站后台
  • 郑州哪里有做网站的网页设计板式网站
  • 网站年费网站建设要注意
  • 宜昌最权威网站建设公司网站建设服务费一年多少钱
  • 怎样申请免费网站空间深圳几个区
  • 阿里巴巴有几个网站是做外贸的网站优化 检测响应速度