rlc*_*rlc 260 localhost recaptcha
我正在使用PHP开发一个网站,我想在其中一个会话中进行人工验证.对于开发,我最初在本地运行系统,当它准备就绪时,我将把它放在某个领域.
在reCAPTCHA网站上,据说插件只能在给定的域(和子域)中工作.
我的问题是:有没有办法在本地主机上使用reCAPTCHA插件?
Nat*_*man 321
原来的答案不再正确.开发人员指南现在声明:
"如果您想使用"localhost"进行开发,则必须将其添加到域列表中."
这仅在您使用127.0.0.1/...而不是使用localhost访问localhost时才有效localhost/....
原始答案保留在下面.
"默认情况下不再支持localhost域.如果您希望继续支持它们进行开发,可以将它们添加到站点密钥的受支持域列表中.转到管理控制台更新支持的域列表.我们建议使用单独的密钥进行开发和生产,并且不允许生产站点上的localhost密钥."
换句话说,只需使用相同的密钥即可.
CC *_*Inc 98
请注意,截至2016年,ReCaptcha不再天真地支持localhost.来自FAQ:
默认情况下不再支持localhost域.如果您希望继续支持它们进行开发,可以将它们添加到站点密钥的受支持域列表中.转到管理控制台以更新支持的域列表.我们建议使用单独的密钥进行开发和生产,并且不允许在您的生产站点密钥上使用localhost.
因此,只需添加localhost到您网站的域名列表中,您就会很好.
RAM*_*RAM 58
它是如此容易:
localhost&127.0.0.1到一个新的网站,如下面的图像的领域.更新:
如果你的问题是如何设置reCaptcha在谷歌网站在本地主机使用它的话,我已经写了它上面,但如果你很好奇的是如何使用reCAPTCHA上都 localhost并website host通过在控制器中最小的代码,并防止像一些代码ConfigurationManager.AppSettings["ReCaptcha:SiteKey"]在它然后我在答案中为您提供了额外的说明和代码.
你喜欢以下GET和POST动作吗?
它支持reCaptcha,不需要任何其他代码来处理reCaptcha.
[HttpGet]
[Recaptcha]
public ActionResult Register()
{
// Your codes in GET action
}
[HttpPost]
[Recaptcha]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterViewModel model, string reCaptcha_SecretKey){
// Your codes in POST action
if (!ModelState.IsValid || !ReCaptcha.Validate(reCaptcha_SecretKey))
{
// Your codes
}
// Your codes
}
Run Code Online (Sandbox Code Playgroud)
在查看:(参考)
@ReCaptcha.GetHtml(@ViewBag.publicKey)
@if (ViewBag.RecaptchaLastErrors != null)
{
<div>Oops! Invalid reCAPTCHA =(</div>
}
Run Code Online (Sandbox Code Playgroud)
使用它
A)将以下内容添加ActionFilter到Web项目中:
public class RecaptchaAttribute : FilterAttribute, IActionFilter
{
public void OnActionExecuting(ActionExecutingContext filterContext)
{
var setting_Key = filterContext.HttpContext.Request.IsLocal ? "ReCaptcha_Local" : "ReCaptcha";
filterContext.ActionParameters["ReCaptcha_SecretKey"] = ConfigurationManager.AppSettings[$"{setting_Key}:SecretKey"];
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
var setting_Key = filterContext.HttpContext.Request.IsLocal ? "ReCaptcha_Local" : "ReCaptcha";
filterContext.Controller.ViewBag.Recaptcha = ReCaptcha.GetHtml(publicKey: ConfigurationManager.AppSettings[$"{setting_Key}:SiteKey"]);
filterContext.Controller.ViewBag.publicKey = ConfigurationManager.AppSettings[$"{setting_Key}:SiteKey"];
}
}
Run Code Online (Sandbox Code Playgroud)
B)添加reCaptcha设置键都localhost与website喜欢在你的webconfig文件:
<appSettings>
<!-- RECAPTCHA SETTING KEYS FOR LOCALHOST -->
<add key="ReCaptcha_Local:SiteKey" value="[Localhost SiteKey]" />
<add key="ReCaptcha_Local:SecretKey" value="[Localhost SecretKey]" />
<!-- RECAPTCHA SETTING KEYS FOR WEBSITE -->
<!--<add key="ReCaptcha:SiteKey" value="[Webite SiteKey]" />
<add key="ReCaptcha:SecretKey" value="[Webite SecretKey]" />-->
<!-- OTHER SETTING KEYS OF YOUR PROJECT -->
</appSettings>
Run Code Online (Sandbox Code Playgroud)
注:通过这种方式,你并不需要设定
reCaptcha_SecretKey的参数后动作或任何ViewBag用于验证码手动您的操作和视图,他们都将在运行时自动使用适当的值取决于你已经运行在本地主机或网站的项目填写.
Pab*_*blo 55
这对我有用:
"使用以下测试密钥,您将始终获得No CAPTCHA并且所有验证请求都将通过.
网站密钥: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
密钥: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
reCAPTCHA小部件将显示一条警告消息,声称它仅用于测试目的.请不要将这些密钥用于生产流量."
摘自此处:https://developers.google.com/recaptcha/docs/faq
BR!
小智 22
当您在 Google reCAPTCHA 中添加域时:
添加新域:
本地主机,而不是本地主机
“L”是大写字母。
小智 9
删除当前的 reCAPTCHA 密钥,注册新密钥,并使用以下域设置您的密钥设置:
127.0.0.1
localhost
Run Code Online (Sandbox Code Playgroud)
最新更新 2022 默认情况下不支持本地主机域。如果您希望继续支持它们的开发,您可以将它们添加到您的站点密钥的支持域列表中。
或者
对于 reCAPTCHA v2,请使用以下测试密钥。您将始终获得“无验证码”,并且所有验证请求都会通过。
Site key: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
Secret key: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
Run Code Online (Sandbox Code Playgroud)
Google最近更改已停止,默认情况下允许localhost被允许.(正如@Artur Cesar De Melo所感动的那样)这是他们的常见问题解答:
我收到错误"Localhost不在支持的域列表中".这之前有用,我该怎么办?
默认情况下不再支持localhost域.如果您希望继续支持它们进行开发,可以将它们添加到站点密钥的受支持域列表中.转到管理控制台以更新支持的域列表.我们建议使用单独的密钥进行开发和生产,并且不允许在您的生产站点密钥上使用localhost.
1:为您的开发环境创建单独的密钥
2:将127.0.0.1添加到允许的域列表中
3:保存更改并允许最多30分钟更改生效
小智 7
在您的 Google reCAPTCHA 网站域列表 ( https://www.google.com/recaptcha/admin/site/{siteid}/settings ) 中,添加LOCALHOST.
如果以上方法不起作用,请尝试添加127.0.0.1。
小智 5
默认情况下不再支持 localhost 域。如果您希望继续支持它们进行开发,您可以将它们添加到站点密钥的支持域列表中。转到管理控制台以更新支持的域列表。我们建议为开发和生产使用单独的密钥,并且不允许在您的生产站点密钥上使用 localhost
截至 2021 年 1 月 2 日,Google 在本文中发布了这两个用于测试的密钥。
我想使用 reCAPTCHA 运行自动化测试。我该怎么办?对于 reCAPTCHA v3,为测试环境创建一个单独的密钥。分数可能不准确,因为 reCAPTCHA v3 依赖于查看真实流量。
对于 reCAPTCHA v2,请使用以下测试密钥。您将始终获得 No CAPTCHA,并且所有验证请求都会通过。
Site key: 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
Secret key: 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
Run Code Online (Sandbox Code Playgroud)
reCAPTCHA 小部件将显示一条警告消息,以确保它不会用于生产流量。
我第一次使用这些密钥时,生成的电子邮件就变成了垃圾邮件。
| 归档时间: |
|
| 查看次数: |
255325 次 |
| 最近记录: |