1

我正在向 api 添加一些功能,以允许第三方存储用户数据。我知道有些用户在通过 api 提交之前可能已经对他们的用户 ID 进行了 base64 编码,而其他用户可能不会。

我已经对双重编码进行了一些检查(对已经 base64 编码的字符串进行 base64 编码),它似乎没有引起任何问题。

据我了解,无法检查字符串是否经过 base64 编码。这里有什么我应该注意的吗?还有其他方法我应该这样做,还是安全?

另外,我正在像这样清理数据。

$eid=preg_replace("/[^a-zA-Z0-9\/=+]/", "",base64_encode(@$_GET['eid']));

这应该可以安全地存储在数据库中,因为它会在字符串编码后去除任何可疑字符。但我需要通过 API 返回非编码字符串。

所以在某些时候我需要做

回声 base64_decode($eid);
在我看来,这可能是黑客通过我的服务器运行恶意代码的机会。那正确吗?

4

0 回答 0