EndOfStreamException由垃圾邮件发送者引起。

3

我的网站上有一个联系页面,似乎被垃圾邮件发送者占用了。

错误信息如下:

    System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
at System.IO.BinaryReader.ReadByte()
at System.Web.UI.ObjectStateFormatter.DeserializeIndexedString(SerializerBinaryReader reader, Byte token)
at System.Web.UI.ObjectStateFormatter.DeserializeValue(SerializerBinaryReader reader)

谷歌搜索结果很少。

我猜他们提交了一个无效的视图状态,但是异常没有行号,所以我被卡住了。

编辑:我的问题是,我在哪里可以捕获这个异常或检查视图状态的有效性。

1个回答

0
在webconfig中使用以下内容(更改您的目标框架,这将使您更安全)。
<pages validateRequest="true" viewStateEncryptionMode="Never" 
   enableViewStateMac="true" enableSessionState="true"
   controlRenderingCompatibilityVersion="4.0" clientIDMode="AutoID">
</pages>

那个字符串中的哪个属性使得它与众不同?更改它会有什么影响? - NickG
@NickG validateRequest="true" enableViewStateMac="true" enableSessionState="true" validaterequest用于防止恶意的URL请求和表单提交。 - Furkan Gözükara
那是否真的能阻止异常发生,还是只是提高了安全性?我不确定该配置的影响是什么。 - NickG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接