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

centos wordpress 建站教程好的网站推荐一个

centos 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://www.dtcms.com/wzjs/581482.html

相关文章:

  • 网站建设栏目提纲深圳网站设计开发
  • 购物网站服务器价格dedecms 网站安装教程
  • 网站开发用哪个框架淘宝客网站建站
  • 班级网站建设开题报告网站如何做内部链接
  • 网站建设的费用报价html网页模板下载html模板免费
  • 自己建网站百度到吗企业网站设计的主要目的
  • 长春作网站俄文网站推广
  • 北京网站技术开发公司html网页制作代码
  • 网站建设流程文字稿门户一号wordpress主题
  • 江苏网站建设官网企业如何申请网站
  • 建设部网站施工合同范本去哪找营销技巧的重要性
  • 做网站设计素材百度文库首页
  • 简述网站建设及维护全过程wordpress 使用七牛
  • 单页推广网站模版基于asp的网站开发
  • 做网站能接到项目工程吗在线平台
  • 网站排名优化公司哪家好网站制作专业的公司叫什么
  • 网站备案 公司注销吗企业展示网站建设需要做什么
  • 在哪个网站做游戏视频好租凭境外服务器做违规网站
  • 织梦网站转移服务器广州网站建设定制费用
  • 重庆网站建设夹夹虫公司.可信赣州网络问政
  • 深圳做网站哪个公司最好财税营销型网站
  • 汽车网站开发方案如何把自己电脑做网站服务器
  • 网站导航条图片素材河北沧为信息技术有限公司
  • 高端网站推荐辽宁网站建设学校
  • 网站内优化怎么做万能网
  • 网站生成wap建设网站的技术难点
  • 女生做网站编辑设计素材网站推荐2023
  • 企业网站的网络营销毕业设计做网站老师会问什么
  • 泰安肥城建设局网站百度指数资讯指数是指什么
  • 平面磨床东莞网站建设广州网站制作哪家专业