【发布时间】:2015-09-05 22:50:50
【问题描述】:
我想知道如果我在脚本中有这个,我是否可以避免 SQL 注入:
< script>
//some stuff
var item = <?php echo json_oncode($PHPVAR) ?>
item.replace(/"/,'"').replace(/'/,''');
//do more script stuff with item
< /script>
目前使用 Laravel (PHP),带有 PDO 还有什么我应该注意/注意的吗? (据我所知,在提交到数据库 b/c PDO 之前,我没有将白名单/黑名单列入白名单/黑名单)
我还要求 b/c 项目取自用户输入,它使用项目的值动态创建 HTML
【问题讨论】:
-
看起来你在写 JS,而不是 PHP?
-
这是客户端,所以不是。使用准备好的语句。
json_oncode也是错字吗? -
我几乎需要您的全部代码才能告诉您是否可以安全地避免 sql 注入。通常,将 pdo 与准备好的语句一起使用并且从不将用户输入连接(将字符串添加在一起)到 sql 语句中(即使用参数)将保护您。不过,我不能保证一切。
-
准备好的语句本身根本不提供任何保护 - 恰好 PDO 中的准备好的语句要求您使用变量绑定,而 那 就是为您提供保护的原因。你必须使用准备好的语句才能得到这很烦人的、不必要的开销。
-
这对 SQL 注入是 100% 安全的,因为根本没有数据库代码
标签: php mysql security laravel pdo