我安全吗? [试图阻止sql注入]

时间:2015-06-19 20:36:08

标签: php mysql security laravel pdo

我想知道如果我在脚本中有这个,我是否可以免于SQL注入:

< script>

    //some stuff

    var item = <?php echo json_oncode($PHPVAR) ?>

    item.replace(/"/,'&quot').replace(/'/,'&#39');

    //do more script stuff with item

< /script>

目前正在使用Laravel(PHP)和PDO 还有什么我应该注意/注意的吗? (在提交数据库之前我没有白名单/黑名单b / c PDO根据我的理解为我做了这个)

另外我要求b / c项是从用户输入中获取的,它使用item

的值动态创建HTML

1 个答案:

答案 0 :(得分:1)

这个问题在某种程度上是无法回答的(至少不会以一种不会给你一种虚假的安全感的方式)提供的资源量。

由于您使用的是PDO,我会马上说你应该使用prepared statements。注入总体上主要取决于Web应用程序如何处理用户输入。

您的问题应该是,“这条用户输入如何与我的应用程序交互?” - 当然没有一套事情要做,以保护自己免受(B)SQLi(或其他注入[XSS / LDAP]变体)。

以下是一些很好的资源,可以帮助您进一步了解SQL注入(如果您希望能够涵盖某些内容,需要了解漏洞的工作原理)特异性的)。

OWASP SQL Injection

Acunetix SQL Injection

SQL Injection Cheat Sheet

除了可能更深入地了解如何处理有关您提供的代码的用户输入之外,没有更多内容可以专门回答您的问题(我们可能会这样做,但我认为不需要)。