Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET中验证Javascript中的ReCaptcha_C#_Javascript_Asp.net_Recaptcha - Fatal编程技术网

C# 在ASP.NET中验证Javascript中的ReCaptcha

C# 在ASP.NET中验证Javascript中的ReCaptcha,c#,javascript,asp.net,recaptcha,C#,Javascript,Asp.net,Recaptcha,我正在使用ReCaptcha的ASP.NET插件,我已经在我的ASP.NET表单上实现了ReCaptcha,并且它可以正常工作。问题是验证只在服务器端进行,因此当输入错误的验证码时,页面上的FileUpload控件将丢失其值,用户必须再次浏览文件并选择它。这是因为ViewState不存储用户的本地路径(如果可以的话,这将是一种安全冲突!) 为了避免这个问题,我考虑在提交表单之前用JS在客户端添加一个额外的验证。Submit按钮将调用一个JS函数,检查ReCaptcha是否有效,如果无效,则向用户

我正在使用ReCaptcha的ASP.NET插件,我已经在我的ASP.NET表单上实现了ReCaptcha,并且它可以正常工作。问题是验证只在服务器端进行,因此当输入错误的验证码时,页面上的FileUpload控件将丢失其值,用户必须再次浏览文件并选择它。这是因为ViewState不存储用户的本地路径(如果可以的话,这将是一种安全冲突!)


为了避免这个问题,我考虑在提交表单之前用JS在客户端添加一个额外的验证。Submit按钮将调用一个JS函数,检查ReCaptcha是否有效,如果无效,则向用户显示一个错误并重新加载一个新的Captcha(在客户端上),而不会丢失上载控制状态,而不是发回服务器并丢失HTML上载状态。在这个场景中,我找不到关于如何在JS中验证和重新加载ReCaptcha的文档。

ReCaptcha的思想是服务器端验证。如果您想在客户端验证它,您必须将答案发送给客户端。如果您这样做,您就违背了使用验证码的全部目的-客户端将有权访问正确的答案。

这不会违背重新验证的全部目的吗?您不在客户端验证验证码的原因是,您必须将答案发送给客户端。所以现在自动化破解是很简单的,因为不需要破解。再试一次。