我应该使用htmlspecialchars还是mysql_real_escape_string还是同时使用

Har*_*had 3 php

我已让用户输入一些信息(姓名,出生日期等)。然后,我必须将这些值插入数据库。我是否应该使用mysql_real_escape_string()防止mysql注入和htmlspecialchars()处理html标记的方式,它们都是必需的还是其中之一?

如果我只使用其中之一,那么哪一个呢?如果我要同时使用,那么哪个先哪个,最后一个哪个?

Que*_*tin 5

我应该使用mysql_real_escape_string防止mysql注入

否。使用准备好的语句和参数化查询。这将要求您停止使用过时的mysql_*库,而转而使用更现代的库(例如PDO)。

和htmlspecialchars来同时处理html标签或其中之一可以完成工作?

使用htmlspecialchars防止XSS攻击时,你将数据插入到HTML文档。数据库不是HTML文档。(您稍后可能会将数据从数据库中取出来放入HTML文档中,这是使用时间htmlspecialchars)。