NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

时间:2023-03-09 21:39:11
NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

这是代码:https://files.cnblogs.com/files/suterfo/NetCoreTestPro.rar

运行步骤:

一、使用Visual Studio2017打开项目,并F5运行项目。之后在浏览器输入http://xxx.xxx.xx.xxx:57275/  (xxx.xxx.xx.xxx为你本机的IP)。效果如下:

NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

二、由于WireShark只能抓取经过电脑网卡的包,若是使用localhost或者127.0.0.1进行测试的,流量是不经过电脑网卡的,所以WireShark无法抓包,所以要进行以下设置。

1 . 以管理员身份打开命令提示符

2 . 输入 route add 本机ip mask 255.255.255.255 网关ip
如果不知道本机ip和网关ip,可以在命令行输入ipconfig查看

例如我的 :

route add 169.254.21.105 mask 255.255.255.255 169.254.11.111

NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

注:关闭经网卡命令是:route delete 169.254.21.105 mask 255.255.255.255 169.254.11.111

三、打开 WireShark,并在输入栏填写:ip.addr == 169.254.21.105 and tcp.port == 57275  (这里要改成你的IP),如图示:

NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

四 、选择文件进行上传,随便找一个几M的文件操作就可以。

NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

五、文件会显示上传失败,并显示401。

NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

六、在刚才的WireShark抓包数据里随便一条正常包点击右键---追踪流---TCP流。

NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

七、看到整个文件是8402 KB。

NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

八、关键代码如下:

NetCore文件上传校验返回未授权401,文件仍然执行上传操作,要如何解决呢

九、问题是:已经在上传前校验为未授权401,为什么浏览器仍会主动执行上传操作,该操作会消耗服务器流量。需要如何解决?有知道的朋友请留言并告知,十分感谢。