在php中进行post和get数据整数验证时,ctype_数字是否安全?

在php中进行post和get数据整数验证时,ctype_数字是否安全?,php,validation,post,get,Php,Validation,Post,Get,我想知道对于post和get数据(用户输入)整数验证是否安全和足够 ctype\u数字定义: bool ctype_digit ( string $text ) Checks if all of the characters in the provided string, text, are numerical. 它对于正整数来说已经足够好了。但是您可以简单地使用。is_int()on get/post数据将始终返回false。post和get数据以字符串形式出现,我们通常会对其进行转

我想知道对于post和get数据(用户输入)整数验证是否安全和足够

ctype\u数字定义:

  bool ctype_digit ( string $text )
  Checks if all of the characters in the provided string, text, are numerical.

它对于正整数来说已经足够好了。但是您可以简单地使用。

is_int()
on get/post数据将始终返回
false
。post和get数据以字符串形式出现,我们通常会对其进行转义(即使它以int形式出现,也会进行转换)。Ctype_digit看起来正是我们需要的功能,但似乎有一些用户使用它进行验证,你知道为什么吗?谢谢您的时间。@lvaroG.Vicario啊,很高兴知道:()ctype方法是用来检查值而不是类型的。所以,是的,使用它们很好。只要确保始终插入字符串;)非常感谢。考虑到数据库ID,是否需要使用过滤器,或者我很乐意使用ctype_digit(过滤器使用更多的代码,所以我想如果我可以使用其他函数,那么没有必要每次都使用它)?如果您正确地构建DB查询(即准备好的语句),那么您根本不需要验证输入(除了避免使用完全虚假的数据查询数据库)。