2

我正在构建一个 ASP.Net mvc4 应用程序,它允许用户通过 POST 请求发送编码为 Base64 字符串的图像。如何验证用户输入以确保base64字符串确实是图像并防止用户在POST请求中传递恶意数据?例如,防止外部 URL 被注入。

我发现这个这个告诉在 PHP 中而不是在 Asp.net/C# 中执行此操作。

4

2 回答 2

4

我将在 PHP 示例中采用相同的方法,基本上尝试从 base64 编码数据创建图像。如果数据不是有效的图像,我希望图像会引发异常或至少为空。

通过快速搜索,我在 SO 上找到了一个示例,其中显示了从 base64 编码字符串创建图像的几种方法。

假设 ms 是 MemoryStream 类型,我怀疑你可以用 try/catch 包装这些方法之一:

new Bitmap(ms)

或者

mage.FromStream(ms);
于 2013-07-31T22:19:06.200 回答
-3

你有没有想过用

[验证AntiForgeryToken]

于 2013-08-01T07:03:03.150 回答