小编lut*_*yte的帖子

Perl 和参数化语句

我正在寻找参数化语句没有被正确执行的确认。当前代码如下:

$ywant = "user supplied integer";
$select = "SELECT a.Authors, a.PublicationYear, a.Title, a.URL, a.ArticleID, f.Format ".
          "FROM   tbl_ETI_Article a, tbl_ETI_Format f  ".
          "WHERE  a.PublicationYear = '".$ywant."' ".
          "AND a.FID = f.FID ".
          "ORDER BY a.PublicationYear DESC, a.Title ASC";

$sth = $dbh->prepare( " $select " );
$sth->execute();
Run Code Online (Sandbox Code Playgroud)

我知道选择字符串中的 $ywant 变量应该替换为占位符 '?' 然后将用户提供的数据作为参数放置在执行语句中。

我的问题是上述内容是否仍然提供任何针对注入攻击的保护,因为它仍在“准备中”?

perl sql-injection

3
推荐指数
1
解决办法
70
查看次数

标签 统计

perl ×1

sql-injection ×1