2

如何添加到允许的项目列表中(gif$|jpg$|png$|jpeg$)

进入以下代码

$regexp = "/[0-9a-zA-z\.]/";
if (preg_match($regexp, $imageInput))

还有我如何添加排除列表,例如阻止人们卸载 .exe 文件等。

谢谢

编辑

我用以下代码修复了它

关于如何使它变得更好的任何建议?

$regexp = "/^[a-zA-z0-9._-]+(gif|jpg|png|jpeg)/";
4

3 回答 3

4

使用正面列表:

/^[0-9a-zA-z\.]+\.(gif|jpg|png|jpeg)$/

或消极的前瞻:

/^[0-9a-zA-z\.]+\.(?!exe$)[a-z]+$/

正面清单是更安全但更具限制性的选择。

于 2010-02-25T16:14:04.167 回答
1

将您的正则表达式更改为/([0-9a-zA-z\.])(gif|jpg|png|jpeg)$/仅允许您指定的扩展名。

于 2010-02-25T16:14:08.033 回答
1

尝试:

$regexp = "/^[0-9a-zA-z\.]+\.(jpg|gif|png)$/";

用于停止模式'/.(exe|cmd|bat|sh)$/',然后if(!preg_match($pattern, $text))

于 2010-02-25T16:14:58.063 回答