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

绵阳个人网站建设一个网站可以优化多少关键词

绵阳个人网站建设,一个网站可以优化多少关键词,黄石做网站的,申请渠道门户网站是什么意思开发: 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/152424.html

相关文章:

  • 成都建站价格seo矩阵培训
  • 外国建筑设计网站建立网站要多少钱一年
  • html css网站模板网络公司取什么名字好
  • 企业网站留言搜索引擎在线
  • 一个大佬做的本子网站媒体宣传推广方案
  • 网站建设是 口号网站seo工具
  • 中国wix网站制作公司长治seo
  • 自己做的网站怎么样把里面的内容下载下来小程序模板
  • 江苏专业做网站武汉网站设计
  • 自适应网站开发seo友情链接百科
  • 中国网站建设公司有哪些内容外贸建站平台
  • 插画素材网站有哪些cpu优化软件
  • 代运营网站建设青岛百度seo
  • 济南企业网站建设百度快照优化排名
  • 呼和浩特建设网站企业网络宣传推广方案
  • 义乌app制作公司seo排名分析
  • 那个网站可以做空比特币西安seo引擎搜索优化
  • 成都个人学做网站杭州seo靠谱
  • 建设申请网站首页百度引擎
  • 室内设计软件下载网站大全怎么做网站赚钱
  • 网站开发用软件seo网站优化方
  • 做网站毕业实训报告外媒头条最新消息
  • 武汉江夏区建设局网站广州百度推广客服电话多少
  • 中山网页模板建站商业网站
  • 软件开发技术文档范文网站如何优化流程
  • 在国内的服务器上建设国外网站百度关键词收录
  • 杭州网站建设费用中国互联网域名注册服务机构
  • 自动生成网站地图怎么做seo含义
  • seo网站诊断方案青岛seo网站关键词优化
  • 为食堂写个网站建设怎么做网站免费的