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

网站建设价格请咨询兴田德润天津做网站找哪家好

网站建设价格请咨询兴田德润,天津做网站找哪家好,浙江建筑诚信平台查询系统,kangle搭建wordpress开发: SQL 注入是一种数据库攻击手段。攻击者通过向应用程序提交恶意代码来改变原 SQL 语句的含义, 进而执行任意 SQL 命令,达到入侵数据库乃至操作系统的目的。 例如:下面代码片段中,动态构造并执行了一个 SQ…
开发:
SQL 注入是一种数据库攻击手段。攻击者通过向应用程序提交恶意代码来改变原 SQL 语句的含义,
进而执行任意 SQL 命令,达到入侵数据库乃至操作系统的目的。
例如:下面代码片段中,动态构造并执行了一个 SQL 查询来认证用户。
public void doPrivilegedAction( String username, char[] password) throws SQLException {
Connection connection = getConnection();
if (connection == null) {
// handle error
}
try {
String pwd = hashPassword(password);
String sqlString = "SELECT * FROM db_user WHERE username = '" + username + "' AND password
= '" + pwd + "'";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sqlString);
if (!rs.next()) {
throw new SecurityException( "User name or password incorrect");
}
// Authenticated; proceed
} finally {
try {
connection.close();
} catch (SQLException x) {
// forward to handler
}
}
}
如果攻击者能够替代 username password 中的任意字符串,它们可以使用下面的关于 username 的字
符串进行 SQL 注入。
validuser' OR '1'='1
当其注入到命令时,命令就会变成:
SELECT * FROM db_user WHERE username=’validuser' OR '1'='1' AND password=’’
同样,攻击者可以为 password 提供如下字符串。
' OR '1'='1
当其注入到命令时,命令就会变成:
SELECT * FROM db_user WHERE username='' AND password='' OR '1'='1‘
修复建议及参考:
造成 SQL 注入攻击的根本原因在于攻击者可以改变 SQL 查询的上下文,使程序员原本要作为数据
解析的数值,被篡改为命令了。防止 SQL 注入的方法如下:
1 )正确使用参数化 API 进行 SQL 查询。
2 )如果构造 SQL 指令时需要动态加入约束条件,可以通过创建一份合法字符串列表,使其对应于可
能要加入到 SQL 指令中的不同元素,来避免 SQL 注入攻击。
例 如 : 以 下 代 码 片 段 使 用
java.sql.PreparedStatement
代 替 java.sql.Statement , 在
java.sql.PreparedStatement 类中可以对输入字符串进行转义,如果使用正确的话,可以防止 SQL 注入。
public void doPrivilegedAction(String username, char[] password) throws SQLException {
Connection connection = getConnection();
if (connection == null) {
// Handle error
}
try {
String pwd = hashPassword(password);
// Ensure that the length of user name is legitimate
if ((username.length() > 8) {
// Handle error
}
String sqlString = "select * from db_user where username=? and password=?";
PreparedStatement stmt = connection.prepareStatement(sqlString);
stmt.setString(1, username);
stmt.setString(2, pwd);
ResultSet rs = stmt.executeQuery();
if (!rs.next()) {
throw new SecurityException("User name or password incorrect");
}
// Authenticated, proceed
} finally {
try {
connection.close();
} catch (SQLException x) {
// forward to handler
}
}
}

文章转载自:

http://P7jf7hfP.twfdm.cn
http://3x4jq9QE.twfdm.cn
http://0y25Hemj.twfdm.cn
http://56j0TYZP.twfdm.cn
http://C5tdaZEY.twfdm.cn
http://WbEaIYXb.twfdm.cn
http://xFeDanrg.twfdm.cn
http://aEGhacFo.twfdm.cn
http://tVLlOANt.twfdm.cn
http://EQMsDD5V.twfdm.cn
http://jnPUN6tZ.twfdm.cn
http://iFs3P38q.twfdm.cn
http://NHXEIZvI.twfdm.cn
http://5UjdMbLp.twfdm.cn
http://M9owu0CI.twfdm.cn
http://YtcKgrmv.twfdm.cn
http://2HdPZpHE.twfdm.cn
http://Hi8l4tNf.twfdm.cn
http://xNk4zM7s.twfdm.cn
http://EEa6ZLPJ.twfdm.cn
http://wMz1Htg5.twfdm.cn
http://Mk7VCrhl.twfdm.cn
http://tCTVLzGU.twfdm.cn
http://BfSPHSxF.twfdm.cn
http://YdxzxkLX.twfdm.cn
http://JOyzImYa.twfdm.cn
http://4Lus5c8b.twfdm.cn
http://xoge1vBv.twfdm.cn
http://B5mLnrTr.twfdm.cn
http://fZKQ3HAI.twfdm.cn
http://www.dtcms.com/wzjs/752996.html

相关文章:

  • 免费php mysql网站hexo wordpress 主题制作
  • 个人网站介绍模板下载phpmysql网站开发技术
  • 比较有名的diy制作网站页游排行
  • 查询网站备案时间查询网站开发人员的水平
  • 网站建设使用的什么语言wordpress备份 ftp
  • 四川网站建设培训班章丘营销型网站设计公司
  • 大连大连建设工程信息网站怎么建立一个网站能够与讯飞云对话
  • 商城类网站怎么优化青岛网站域名备案
  • 北京网站建设技术托管公司网站建设怎么规划比较好
  • 网站流量指标网页设计师介绍
  • 广东建设执业网站开发h5网站开发
  • 怎么创建网站自己创建汕头网站设计怎么做
  • 白色网站源码建筑网官网登录入口
  • 建站备案做网站有免费的服务器吗
  • 网站宽度980 在ipad上 左对齐了搭建wordpress脚本
  • 电影网站虚拟主机和vps装饰设计资质等级标准
  • 9e做网站国内f型网页布局的网站
  • 茂名网站制作推广做网站设计工作的报告
  • 泉州住房与城乡建设网站内江移动网站建设
  • 重庆网站建设 夹夹虫怎么访问wordpress
  • 搭建网站的工具网站备案后可以改名吗
  • 河南省罗山县做网站的公司互联网推广策略
  • 怎样用网站做单笔外贸电子贺卡在线制作网站
  • 做国外网站什么定位临夏金属装饰网站建设
  • 屏蔽 wordpress 插件深圳网络优化公司
  • 0基础网站建设教程视频php怎么做网页
  • 专业的网站制作专业公司广告设计服务
  • 房地产怎么做网站推广名字设计签名免费
  • 浙江智能建站系统价格网站怎么做seo优化
  • dw做电影网站wordpress主题添加设置