作为Web开发人员,将客户端的cookie(HTTP_COOKIE)和任何其他HTTP_ *变量存储到数据库是否危险?
cookie内容的示例:
PHPSESSID = 49g8iequfgjf5h9rjne88nqfs1; rack.session = BAh7CUkiD3Nlc3Npb25faWQGOgZFVEkiRTUyYzBhZTYyYmY2ZjI5OWVmZjM3%0ANzk3NTA5MWQ1OTVjNTBkYjIzZDIwZmJlMzc2MGI5ODllYzU0NDQyMjkxMDQG%0AOwBGSSINdHJhY2tpbmcGOwBGewhJIhRIVFRQX1VTRVJfQUdFTlQGOwBUSSIt%0AMGNkYzFiOWRVlKrM2E4MWM0MTdmMWFkNDcwMGQxODBjM2Q4N2NhZQY7AEZJ%0AIhlIVFRQX0FDQ0VQVF9FTkNPRElORwY7AFRJIi1lZDJiM2NhOTBhNGU3MjM0%0AMDIzNjdhMWQxN2M4YjI4MzkyODQyMzk4BjsARkkiGUhUVFBfQUNDRVBUX0xB%0ATkdVQUdFBjsAVEkibTVuZWFlOTcxNDkyOTM4YzJkY8923mIxZGRjOGQ3ZWMz%0AMTk2MDM3ZGEGOwBGSSIKcHJvZGkGOwBGWwZ7BzoHaWRpEzoJbmFtZUkiCEhD%0ASQY7AFRJIgljc3JmBjsARkkiRTFmN2M4NzVjZDQ2ZWMwNWM2YmM2MjU2MWMw%0AZWI2NzU1Y2Y1NTQ2OWY1NmIyNmM3NGNjMWZhNjhhMjg3NDVhNTQGOwBG%0A \ n
答案 0 :(得分:1)
您从cookie或HTTP请求获得的任何内容都应被视为用户输入而不受信任。如果要存储在数据库中,请使用Prepared Statement并避免将变量连接到SQL中。
在PHP中,使用session_id()
比读取原始cookie以获取会话ID更受青睐。如果会话名称与默认值不同,则cookie将不会命名为PHPSESSID
。