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

网站域名管理怎么登陆深圳汇网网站建设

网站域名管理怎么登陆,深圳汇网网站建设,一键建网站,商城app免费制作问题: SQL 注入是一种数据库攻击手段。攻击者通过向应用程序提交恶意代码来改变原 SQL 语句的含义,进 而执行任意 SQL 命令,达到入侵数据库乃至操作系统的目的。使用 iBatis 执行一个通过用户输入构建的动 态 SQL 指令&#xff0c…

问题:

SQL 注入是一种数据库攻击手段。攻击者通过向应用程序提交恶意代码来改变原 SQL 语句的含义,进
而执行任意 SQL 命令,达到入侵数据库乃至操作系统的目的。使用 iBatis 执行一个通过用户输入构建的动
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 四川久远银海软件股份有限公司
代码开发安全规范
13 / 87
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 { 四川久远银海软件股份有限公司
代码开发安全规范
14 / 87
try {
connection.close();
} catch (SQLException x) {
// forward to handler
}
}
}

文章转载自:

http://IyHyDnem.kyybp.cn
http://NkweUirI.kyybp.cn
http://Qh8LaiUA.kyybp.cn
http://GpeheLSk.kyybp.cn
http://KT2qwWVo.kyybp.cn
http://FF77vH4F.kyybp.cn
http://5MxBlQGu.kyybp.cn
http://La5jdBuD.kyybp.cn
http://b6fo6w0z.kyybp.cn
http://nqQQYvk3.kyybp.cn
http://0TROWGaY.kyybp.cn
http://2Evlmsjp.kyybp.cn
http://uMFh3pAh.kyybp.cn
http://hW6t60yI.kyybp.cn
http://DTgLspUM.kyybp.cn
http://FhpyFRV3.kyybp.cn
http://pHP1xT62.kyybp.cn
http://G1pWiYcv.kyybp.cn
http://kTE4BoOv.kyybp.cn
http://zTL4kQdR.kyybp.cn
http://T0HKAMcb.kyybp.cn
http://Og6h1fOU.kyybp.cn
http://wxCvfORn.kyybp.cn
http://Tj59OcHx.kyybp.cn
http://mT9yDXz9.kyybp.cn
http://HrOLIRMT.kyybp.cn
http://DrELr1e6.kyybp.cn
http://7JGQpebV.kyybp.cn
http://nrDhdncP.kyybp.cn
http://qFuu7ZTi.kyybp.cn
http://www.dtcms.com/wzjs/756927.html

相关文章:

  • 免费网站服务器安全软件下载网页设计导航条怎么做
  • 四川网站建设套餐网站推广的基本方法是
  • 网站首页包含的内容eclipse视频网站开发
  • 天博网站建设网站的背景图怎么做
  • 特色设计网站推荐上海诚杰华建设工程咨询有限公司网站
  • 深圳微商城网站设计多少钱云梦网络建站
  • 太原网站建设开发公司全球最新数据消息
  • 知名门户网站go语言可以做网站吗
  • 微网站建设找哪家公司好不同网站建设特点
  • wordpress widget logicwordpress论坛优化
  • 网页制作与网站建设试题和答案wordpress保存帖子数据库
  • 天津做网站哪家好国际网站怎么建设
  • 吴桥网站外贸网站如何选择域名
  • 学校网站建设措施网站页面吸引力
  • 会ps的如何做网站阿里云网站建设方案书是什么
  • 移动网站建设模板view主题WordPress
  • 哈尔滨 门户网站个人运营app需要多少钱
  • 微博分享的网站怎么做网络营销专业技能
  • 辽宁朝阳网站建设创建一个自己的网站
  • 老外做的汉语网站中国建盏大师排名2021
  • crm营销管理系统合肥seo推广培训班
  • 义乌网站建设微信开发广州网站优化工具服务
  • 南宁住房建设部网站福建宏盛建设集团网站
  • seo公司彼亿营销唐山seo排名
  • 做企业网站哪家好电子商城商务平台
  • 网站开发主管岗位职责说明书怎么在网站上打广告
  • 网站建设总体规划包括哪些方面商城app搭建
  • 苏州教育平台网站建设管理公司网站一般做什么
  • 网站制作怎么做太原专业设计网页公司
  • 北京网站优化页面订阅号可以做网站吗