如何检测(使用.ASPX)浏览器是否启用了Javascript

时间:2020-03-05 18:50:11  来源:igfitidea点击:

我认为这可能是减少我们网站上的垃圾表单的一种快速简便的方法。想法是(我已阅读)垃圾邮件发送者未在启用javascript的情况下运行。 (或者至少他们是在没有运行javascript的情况下访问网站。也就是说,他们没有在IE或者FF中浏览该网站。

我可以使用.asp或者.aspx。

解决方案

回答

最简单的方法是通过javascript设置cookie并在回发时进行检查。但是,如果我们希望最大程度地减少垃圾邮件,则实际上应该让浏览器执行一项简单的任务,该任务需要执行javascript。请参见Phil Haack的" Invisibile Captcha Validator"控件,此控件已包含在其Subkismet库中:http://haacked.com/archive/2006/09/26/Lightweight_Invisible_CAPTCHA_Validator_Control.aspx

回答

我看到我们已经接受了" noscript"答案,但是我们将如何使用它来打击垃圾邮件? noscript将允许我们为没有JS的用户添加特殊内容,但是除非我们在JS中生成网站的其余部分,否则没有JS的用户代理仍可以使用它。

某种形式的验证码仍然可能是最好的选择。最终,我们试图让用户代理证明它是由人类控制的,因此,请尽最大努力使它证明是真实的事实,而不是其他事情。视障人士的屏幕阅读器通常也没有Java脚本,并且许多从移动设备浏览的人都禁用了Java脚本以加快运行速度。

回答

在.net中,我们可以使用Request.Browser.JavaScript来检测浏览器是否支持JavaScript。但是,用户可能仍然禁用了Javascript。检查是否启用Javascript的一种丑陋方法是使用" window.location"重定向到page.aspx?jscript = true,然后检查" Request.Querystring"的值。

回答

因此,我们要强制用户使用JavaScript才能使用网站吗?我宁愿只使用一个简单的验证码。如果我们不是知名网站,则可以使用一些相对简单的验证码。

这就是我们减少网站垃圾邮件的方式。

回答

老实说,我们不需要使用服务器端语言来检测javascript,此外,垃圾邮件发送者不一定未运行javascript。 (对双负号表示抱歉)目标很好,但是方法错误,如一些同行建议的那样,实施验证码将是解决此问题的好方法。