更好的$ _GET安全性

Mik*_*gin 3 php

我的PHP非常生疏.我有一个md5哈希,通过获取脚本传递,然后我抓住它像这样:

$id = $_GET['id'];
Run Code Online (Sandbox Code Playgroud)

显然这里存在安全风险......我正在考虑检查字符串长度以确保其长度为32个字符,但这对我来说似乎不太健壮.我还能做些什么来使它更安全?

谢谢

mdm*_*mdm 12

您可以使用正则表达式进行验证,以确保它仅包含字母数字字符.

像这样的东西(我的PHP也生锈了):

if(preg_match("/^[A-Fa-f0-9]{32}$/", $id) > 0) {
    // All good
}
Run Code Online (Sandbox Code Playgroud)

  • 我刚注意到我的正则表达式错了(包括AZ) - 现在已经编辑了. (2认同)