2013-10-17 64 views
0

作爲Web開發人員,將客戶端cookie(HTTP_COOKIE)和任何其他HTTP_ *變量存儲到數據庫是否危險?將http_ *變量保存到數據庫的安全考慮事項

例如用於餅乾內容:

PHPSESSID = 49g8iequfgjf5h9rjne88nqfs1; rack.session = BAh7CUkiD3Nlc3Npb25faWQGOgZFVEkiRTUyYzBhZTYyYmY2ZjI5OWVmZjM3%0ANzk3NTA5MWQ1OTVjNTBkYjIzZDIwZmJlMzc2MGI5ODllYzU0NDQyMjkxMDQG%0AOwBGSSINdHJhY2tpbmcGOwBGewhJIhRIVFRQX1VTRVJfQUdFTlQGOwBUSSIt%0AMGNkYzFiOWRVlKrM2E4MWM0MTdmMWFkNDcwMGQxODBjM2Q4N2NhZQY7AEZJ%0AIhlIVFRQX0FDQ0VQVF9FTkNPRElORwY7AFRJIi1lZDJiM2NhOTBhNGU3MjM0%0AMDIzNjdhMWQxN2M4YjI4MzkyODQyMzk4BjsARkkiGUhUVFBfQUNDRVBUX0xB%0ATkdVQUdFBjsAVEkibTVuZWFlOTcxNDkyOTM4YzJkY8923mIxZGRjOGQ3ZWMz%0AMTk2MDM3ZGEGOwBGSSIKcHJvZGkGOwBGWwZ7BzoHaWRpEzoJbmFtZUkiCEhD%0ASQY7AFRJIgljc3JmBjsARkkiRTFmN2M4NzVjZDQ2ZWMwNWM2YmM2MjU2MWMw%0AZWI2NzU1Y2Y1NTQ2OWY1NmIyNmM3NGNjMWZhNjhhMjg3NDVhNTQGOwBG%0A \ n

回答

1

任何你從cookie或從HTTP請求得到應被視爲用戶輸入並不信任。如果要存儲在數據庫中,請使用Prepared Statement並避免將變量連接到SQL中。

在PHP中,使用session_id()優先於讀取原始cookie獲取會話ID。如果會話名稱與默認會話名稱不同,則該cookie不會被命名爲PHPSESSID

+0

這不是我的意思^^但是,謝謝,我的意思是它會比不保存HTTP_ *到數據庫更安全嗎? – Kokizzu

+0

安全性在於您對數據執行的操作,而不是內容本身。所以如果你使用Prepared Statement,那麼它不會比沒有這些變量的數據庫安全。如果您將數據輸出爲HTML,那麼您還有其他注意事項,如防止XSS。 – MrCode