在ASP.Net / C中验证Base64图像#

时间:2013-07-31 22:00:52

标签: c# asp.net-mvc c#-4.0 asp.net-mvc-4 base64

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

我发现thisthis告诉我在PHP中这样做但不是Asp.net/C#。

2 个答案:

答案 0 :(得分:3)

我会在PHP示例中遵循相同的方法,并且基本上尝试从base64编码数据创建图像。如果数据不是有效图像,我希望图像会抛出异常,或者至少是null。

进行快速搜索,我发现example here on SO显示了几种从base64编码的字符串创建图像的方法。

假设ms是MemoryStream类型,我怀疑你可以使用try / catch包装其中一个方法:

new Bitmap(ms)

mage.FromStream(ms);

答案 1 :(得分:-1)

您是否考虑过用

装饰帖子方法?

[ValidateAntiForgeryToken]