这个准备好的语句对mysql数据库有多安全

时间:2015-06-30 10:39:29

标签: php mysql security

我想知道这有多安全吗?是否会阻止大多数sql注入攻击?

if(isset($_GET['image_id']) && is_numeric($_GET['image_id'])){
$image_id = $_GET['image_id'];                 

// get next picture id
$result = $pdo->prepare('SELECT image_id FROM images WHERE image_id > :image_id ORDER BY image_id ASC LIMIT 1');
if($result){
    $result->execute(array(':image_id' => $image_id));
    if (($row = $result->fetch()) !== FALSE) {
       $next_id = $row['image_id'];
    }
}

// get previous picture id
$result = $pdo->prepare('SELECT image_id FROM images WHERE image_id < :image_id ORDER BY image_id DESC LIMIT 1');
if($result){
    $result->execute(array(':image_id' => $image_id));
    if (($row = $result->fetch()) !== FALSE) {
       $prev_id = $row['image_id'];
    }
}

$result = $pdo->prepare("SELECT * FROM images WHERE image_id= ? LIMIT 1");              
if ($result->execute(array($_GET['image_id']))) 
{   
     ....   

在网站上没有登录表格或任何形式的输入,除非可能只有一个搜索表单,但是在我确定不够安全之前不会发生。所以目前我正试图确保这一点。

我也在这里阅读了一些文章和一些问题,但仍然无法理解如何测试我的应用程序,所以我会把来源问你。

0 个答案:

没有答案