相关疑难解决方法(0)

如何在PHP中阻止SQL注入?

如果插入用户输入而不修改SQL查询,则应用程序容易受到SQL注入的攻击,如下例所示:

$unsafe_variable = $_POST['user_input']; 

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
Run Code Online (Sandbox Code Playgroud)

这是因为用户可以输入类似的内容value'); DROP TABLE table;--,查询变为:

INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')
Run Code Online (Sandbox Code Playgroud)

可以采取哪些措施来防止这种情况发生?

php mysql sql security sql-injection

2776
推荐指数
28
解决办法
166万
查看次数

如何从"Bobby Tables"XKCD漫画中注入SQL?

只看:

XKCD Strip (来源:https://xkcd.com/327/)

这个SQL做了什么:

Robert'); DROP TABLE STUDENTS; --
Run Code Online (Sandbox Code Playgroud)

我知道这两个'并且--是用于评论,但是这个词也没有DROP被评论,因为它是同一行的一部分?

security validation sql-injection

1070
推荐指数
13
解决办法
19万
查看次数

PHP mysql插入日期格式

我使用jQuery datepicker,datepicker的格式是这样的 08/25/2012

插入到我的数据库时我有错误它只插入00 00 00 00

我的代码是

<?php
$id = $_POST['id'];
$name = $_POST['name'];
$date = $_POST['date'];
$sql = mysql_query( "INSERT INTO user_date VALUE( '', '$name', '$date')" ) or die ( mysql_error() );
echo 'insert successful';
?>
Run Code Online (Sandbox Code Playgroud)

我确定我的插入是正确的....

php mysql date insert

56
推荐指数
3
解决办法
32万
查看次数

ADOdb中的SQL注入和一般网站安全性

我已经做了很多阅读,但仍然不理解100%SQL注入的发生方式!

我想从那些知道基于我的例子的SQL注入的具体例子中看到它,因此它可以被复制,测试和修复.我试过SQL注入我的代码而不能,所以我希望有人来证明我的意思!

1.我认为SQL注入只能通过POST或GET方法进行,这意味着在网站上它应该是帖子形式,例如'注册或搜索'或查询如'search.php?tags = love'?

说这可以注入以下具有POST方法的代码吗?

$name     = trim($_POST['username']);
$mail     = trim($_POST['email']);
$password = trim($_POST['password ']);

   if ($errors == "false") {
    $sql = 
        "INSERT INTO 
           clients 
         SET 
           name='" . mysql_real_escape_string($name) . "',
           mail='" . mysql_real_escape_string($mail) . "', 
           password='" . mysql_real_escape_string(sha1($password)) . "'";
           $connection->execute($sql);

    }
Run Code Online (Sandbox Code Playgroud)

2.另一个有GET方法: rate.php?like&videoID=250&userID=30

$sql = 
    "SELECT 
        videoID 
     FROM 
        likes 
     WHERE 
        videoID = '" .mysql_real_escape_string($videoID). "' AND UID = '" .mysql_real_escape_string($userID). "' LIMIT 1";
        $connection->execute($sql);
Run Code Online (Sandbox Code Playgroud)

请帮助那些对主题感到自由的人,但请使用具体的例子.

提前谢谢,
伊利亚

php mysql security sql-injection adodb

10
推荐指数
1
解决办法
4486
查看次数

标签 统计

mysql ×3

php ×3

security ×3

sql-injection ×3

adodb ×1

date ×1

insert ×1

sql ×1

validation ×1