2016-04-18 35 views
0

我有一個網頁表單。我應該使用的形式,並在數據庫中的字段相同的名字,這樣我就可以從中受益,實現縮短代碼,因爲這(PHP):表單和數據庫中的字段名稱 - 它們必須相同嗎?

foreach($_POST as $key => $value){ 
    if(is_allowed_field($key)) $fields_to_insert[ $key ] = sanitize_string($value); 
    .... 
} // 

或者說相同的結構可能使數據庫結構個人意圖不好?我應該使用不同的名稱,例如,使用前綴嗎?那麼,哪種方法更好?

例如,第二種方法是輸入名稱=「passw」,並在數據庫表中輸入密碼字段。

+1

他們不一定是平等的,沒有。事實上,許多使用慣例給它們在數據庫中的代碼和snake_case名稱中的camelCased名稱。 – JimL

+0

但是這個約定不會增加安全性,因爲它是固定的和隱形的。 – Cesar

+0

任何命名都不會爲安全做任何事情。 – JimL

回答

1

它不應該.. 你可以做這個實現,但你必須注意用戶發送什麼數據 。 因爲在客戶端(表單和html)很容易被改變。 此外,用戶可以添加他想要的任何輸入。所以首先你必須小心你從用戶那裏收到的數據。 另一件事你的數據庫結構將適用於所有人,這有時並不好。 也更清楚顯示你在代碼中接收到的變量。 不僅僅是迫使開發者將允許的字段放在allowed_fields中...... 因爲在這一點上他可能會忘記一些東西。或添加一個祕密字段...

即使您輸入了額外的10行代碼,我也希望更清楚。

相關問題