2015-06-19 80 views
-3

我在想,如果我是SQL注入安全的,如果我有这样的脚本:我安全吗? [试图阻止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项来自用户输入,它动态地创建HTML使用项目的价值

+3

它看起来像你在写JS,而不是PHP? – Synchro

+1

这是客户端,所以没有。使用预准备的语句还有'json_oncode'是一个错字? – chris85

+0

我需要几乎所有的代码才能告诉你,如果你是安全的SQL注入。通常,将pdo与预准备语句一起使用,并且不要将用户输入连接(将字符串添加在一起)到sql语句(即使用参数)中将会保护您。虽然我不能保证一切。 – willaien

回答

1

这个问题在提供的资源量方面有些难以理解(至少不会给您一种错误的安全感)。

由于您使用的是PDO我会继续前进,并说您应该使用prepared statements。整体上的注入主要取决于Web应用程序如何处理用户输入。

你的问题应该是“这段用户输入与我的应用程序有什么相互作用?” - 当然,为了保护自己免受(B)SQLi(或注入[XSS/LDAP]的其他变体)的影响,没有一套事情要做。

下面是一些很好的资源,这将帮助你进一步整体上关于SQL注入(你需要知道如何,如果你想能够覆盖特定的东西,一般的脆弱性工作)。

OWASP SQL Injection

Acunetix SQL Injection

SQL Injection Cheat Sheet

没有更具体回答你的问题,除了可能进入更深如何处理用户输入与问候到您所提供的代码(我们可能但我不认为是必需的)。

+0

我认为sql注入链接你给我和准备好的语句是我需要的东西。我之前做过一些sql注入,但我只是担心我可能错过了某些东西 – mark4284

+0

@ mark4284 - 没关系,如果您需要更多,您在Acunetix SQL注入链接中添加了更多参考。 OWASP也适用于网络漏洞。 – Juxhin