2015-06-19 37 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