0


我對JavaScript很陌生並試圖自學javascript表單驗證。

是否有可能快速運行不同的變量以及如何防止SQL注入?Javascript字符串檢查

我目前正在使用該變量來測試我的密碼是否符合某種安全級別。是否有可能看到一個示例變量,要求用戶至少輸入一個和至少一個大寫字母與其他小寫字母混合在一起的

var passw= /^[a-zA-Z]*.{8,15}$/; 

非常感激,並非常感謝

+2

*「如何防止SQL注入」*您必須在服務器端而不是客戶端執行此操作。或者你在客戶端上運行SQL查詢? –

+0

通過使用單個REGEX,您限制了向用戶傳遞他們違反的規則的能力。 SIMILAR:http://stackoverflow.com/questions/7844359/password-regex-with-min-6-chars-at-least-one-letter-and-one-number-and-may-cont – DevlshOne

+0

可能的重複[正則表達式的密碼驗證](http://stackoverflow.com/questions/2370015/regular-expression-for-password-validation) –

回答

1

如果你想防止SQL注入,那麼你需要做的是服務器端。做它的客戶端是沒有意義的,因爲對於一些邪惡的做法來攔截請求並改變值,繞過你的客戶端驗證是相當微不足道的。如果您使用node.js或其他基於JavaScript的服務器端引擎,那麼您可以在那裏進行驗證。有關如何在node.js here中執行此服務器端的非常詳盡的答案。

+0

我想我愛你。我一直在編寫所有基於自己的代碼,並且很想使用Ajax表單驗證或者php發佈驗證。兩者有哪些好處? 由於活動表單提交,Ajax表單驗證是否對注入更普遍? – Dan

+0

他們非常相似。事實上,您可以使用Ajax發佈到服務器上的PHP頁面。任何一種類型的表單提交都容易發生注入,因爲它會觸發對url的請求。他們都主要在後臺做這件事。如果您使用數據包嗅探器(我喜歡[Burpsuite](http://portswigger.net/burp/)),您可以在發送這些請求時看到它們。由於注入的差異很小,我個人發現使用內置的表單提交更容易。如果您使用POST請求阻止雙重提交,請記住重定向到另一個頁面。 – TylerLubeck