如何使$ _GET版本变量安全

时间:2012-03-29 18:03:03

标签: php

我有page?vesion=1.0.1

如何通过类似

之类的东西使$ _GET ['version']安全
$version = (float) $_GET['version'];

但如果它是1.2或1.0则会起作用,如果它的1.0.1

则不起作用

1 个答案:

答案 0 :(得分:3)

使用/[0-9]+(\.[0-9]+){0,3}/等正则表达式对其进行验证。 preg_match是你的朋友:

if (preg_match('/[0-9]+(\.[0-9]+){0,3}/', $_GET['version'], $match)) {
    // $match[0] contains the validated version number
}

如果我确切地知道你要接受什么以及拒绝什么,我可以帮助你更多。

编辑:将正则表达式中的3替换为辅助版本号的数量;允许使用3 0.1.2.3,但0.1.2.3.4不是