0
Goodmorning guys,對SQL注入的用戶輸入進行編碼
我正在爲我們的客戶之一創建表單。運行窗體的服務器具有非常嚴格的防火牆。目前我們遇到了不接受certrain表單條目的防火牆問題,因爲消息中有太多的點綴標記 - 防火牆將這看作是可能的SQL注入。
一旦點擊提交按鈕,AJAX請求會轉到處理所有電子郵件發送的PHP文件。
$.ajax({
type: "POST",
url: '/wp-content/themes/THEMENAME/wp/actions/apply-position-mail.php',
data: {
job: $('input#jobtitle').val(),
firstname: $('input#first-name').val(),
lastname: $('input#last-name').val(),
email: $('input#email').val(),
phone: $('input#tel').val(),
resume: filename,
comments: comments
}
});
簡單的說我在找一個JavaScript的方式來解碼/編碼字符串(特別是「意見」字段),因此防火牆沒有問題張貼。
當然,我谷歌搜索和嘗試不同的編碼JS功能,但他們都沒有伎倆。
一些幫助,將不勝感激。
不知道是越來越過濾它的將是嘗試並祈禱,直到它的工作原理,但在一個正確的開始最好的機會是使用[encodeURIComponent方法]( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) – Chase
「運行窗體的服務器有一個非常嚴格的防火牆」。我想你應該查看防火牆的定義。 https://en.wikipedia.org/wiki/Firewall_(computing)有一個很好的總結。防火牆阻止端口,而不是數據。你實際上談論的是驗證提交數據的代碼。這是在PHP代碼中,而不是在任何防火牆中。我只提到這一點,因爲它在計算中很有用,其中精確性就是一切,混淆會導致延遲和錯誤,從而使用正確的術語。 – ADyson
但無論如何要回答這個問題,看看正在進行過濾的PHP代碼是有用的,以及一些被阻止的事情的例子。無論如何,標點符號本身並不是一種執行注射攻擊的手段 - 您確定這是決定性因素嗎?如果確實如此,那麼我認爲他們的防止注入攻擊的方法是有缺陷的,除非有其他商業原因拒絕某些角色。如果他們正確使用參數化查詢等來編寫他們的查詢,它應該不需要嚴格 – ADyson