恕我直言,是否必须修改POST/GET vars中的所有空格?
我最近听说过这几次。 在一些门户网站上,我看到关键字开头的空白时,返回空搜索结果,没有空白空间它正在工作。
有些情况下,这可能是有害的吗?
有人可以为这种做法提供一个参数吗?
恕我直言,是否必须修改POST/GET vars中的所有空格?
我最近听说过这几次。 在一些门户网站上,我看到关键字开头的空白时,返回空搜索结果,没有空白空间它正在工作。
有些情况下,这可能是有害的吗?
有人可以为这种做法提供一个参数吗?
在几乎所有情况下,清理输入是有益的,因为你不能相信你会得到什么。但请注意,你不想总是盲目地去做。在某些情况下,您可能实际上需要一个前导空间或尾随空间。 (例如,在密码中)
清理用户输入的文本通常是一个好主意,通常包括删除无关的空格,有问题的标点符号等等。这也可以包括用单个空间替换多个相邻空间。
不用说,您应该通过适当地清理(预处理)用户提供的文本来保护自己免受SQL和HTML注入攻击。最简单的方法是忽略标点符号;另一种方法是将标点符号转换为无害的转义序列。
保护帖子/获得变量是我必须的。但是现在的问题主要是关于从一开始就修整空白字符串的问题。 – holms 2010-09-23 22:55:30
不,没有任何问题,如果用户的输入需要空格,请不要修剪掉,但如果它们不是,我会建议你修剪空格。
例如,假设某人输入了要拆分的多字字符串。
通常情况下,通过使用空格作为分隔符来拆分它们,但是如果空格未被修剪,您可能会在开始时获取空变量,也可能不会。这几乎总会让你猜测是否使用拆分字符串的第一个元素。如果你只是修剪空格,它确实使它变得更容易。否则,您将有大量代码来确定拆分字符串的第一个元素是否为有效条目。
“这个字符串”将被拆分成一个看起来像这样的数组。
$string[0] = ''
$string[1] = 'This'
$string[2] = 'string'
但“此字符串”简直是
$string[0] = 'This'
$string[1] = 'string'
如果你正在做的字符串操作,你可能想要找出多少话是在一个字符串,第一种情况(上图)将显示你3,而后者会告诉你2,除非开始或结尾的空格是必须的,否则只有太多的东西需要寻找。
有关密码的好说法=)! – holms 2010-09-23 22:55:56