如何将PHP HTTP_USER_AGENT保存到MySQL字段

Yaa*_*qov 5 php mysql environment-variables

我有一个简单的反馈表单PHP脚本,我希望通过将$ _SERVER [HTTP_USER_AGENT]数据添加到我正在保存的数据库中的行来增强.

当我尝试一个简单的插入时,我继续得到解析错误,将'$ _SERVER [HTTP_USER_AGENT]'作为典型的字符串传递.我应该以某种方式捆绑它,以便该Server变量中使用的字符不会触发此类错误吗?

(INSERT查询在没有该字段的情况下运行正常,顺便说一句.)

谢谢.

And*_*rew 7

我敢打赌,'用户代理字符串中有一个导致解析器错误的字符串.

返回到PHP的User-Agent字符串受本地浏览器的控制,这意味着您需要将其与常规用户输入区别对待.恶意用户或已被病毒/木马/蠕虫感染的用户可能会更改用户代理字符串以导致SQL注入攻击.至少,你需要转义它(例如使用mysql_real_escape_string().我的赌注是,一旦你这样做,你的解析器错误也应该消失.更好的是,如果你的系统允许这样,试着转向使用预准备语句.