2012-07-28 106 views
5

將HTML表單名稱與表字段名稱命名相同是否被認爲是不好的做法?我正在構建一些動態的SQL插入查詢,目前我正在使用一些正則表達式來將名稱更改爲相關數據庫字段,因爲我認爲它可能不安全,否則您的意見是什麼?表單字段和數據庫表字段的名稱相同嗎?

+1

有點難以在表格和表格中找到「firstname」。名稱是無關緊要的,只要你沒有通過表單將這些字段名稱翻轉,就可以開始進行各種SQL注入攻擊。 – 2012-07-28 21:25:01

回答

4

我寫了一個函數來爲我做INSERT查詢,這取決於這個事實。它將$_POST變量名稱和INSERT s變成它們的相應列。

至於說在OP的評論,不要緊,在大多數情況下,節省您的時間可以追溯到記住,如果你使用first_name,firstname,first.

另外,請記住,您的用戶將永遠不會看到數據庫列名稱,並且只有在查看源代碼時纔會看到表單名稱。因此,沒有什麼可擔心的!

祝你好運!

0

我認爲這可以幫助你減少你需要做的編碼。儘管它看起來像是一個漏洞,但最重要的是檢查來自用戶的有關惡意數據的值。我不認爲這可能是有害的,因爲知道你使用哪個數據庫字段不會給黑客太多。他們仍然需要破解數據庫服務器才能訪問您的數據。

+1

爲了詳細說明這一點,每個人都知道一個表有一個'id'字段,一個存儲用戶將有一個'password',''salt''和'name'列。所以不要擔心 – David 2012-07-28 21:28:37

0

這些名稱應該足夠可讀,以供您閱讀,但「不可預知」(缺少更好的術語)足以讓攻擊者無法猜測私密部分。

表單名稱並不重要,但密碼字段的好名稱爲the_users_passwordpassphrase_for_account

+0

爲什麼'the_users_password'比'password'更安全? – David 2012-07-28 21:29:08

+0

@David:因爲攻擊者很難猜測它。這沒什麼安全性,就好像他得到了這麼多,他將能夠得到表的架構,但仍然... – 2012-07-28 21:30:14

+0

嗯,希望他沒有在密碼列中存儲明文密碼!不過,我明白你在說什麼。 – David 2012-07-28 21:30:50

相關問題