PHP를 사용하여 웹 사이트를 개발 중이며 세션 중 하나에서 사람을 확인하고 싶습니다. 개발을 위해 처음에는 시스템을 로컬에서 실행하고 있으며 준비가되면 특정 도메인에 시스템을 설치합니다.
에서 reCAPTCHA를 웹 사이트 는 플러그인 만 주어진 도메인 (및 하위 도메인)에서 작동 할 것이라고 말한다.
내 질문은 : localhost에서 reCAPTCHA 플러그인을 사용하는 방법이 있습니까?
답변
최신 정보
원래 답변이 더 이상 정확하지 않습니다. 개발자 안내서는 이제 다음과 같이 말합니다.
“개발에”localhost “를 사용하려면 도메인 목록에 추가해야합니다.”
127.0.0.1/...
이보다 는를 사용하여 localhost에 액세스하는 경우에만 작동합니다 localhost/...
.
원래 답변은 아래에 유지됩니다.
reCAPTCHA 개발자 안내서 에 따르면 :
“로컬 호스트 도메인은 더 이상 기본적으로 지원되지 않습니다. 개발을 위해 계속 지원하려면 사이트 키의 지원되는 도메인 목록에 추가 할 수 있습니다. 지원되는 도메인 목록을 업데이트하려면 관리 콘솔로 이동하십시오. 개발 및 프로덕션에 별도의 키를 사용하고 프로덕션 사이트 키에서 로컬 호스트를 허용하지 않도록하십시오. “
다시 말해, 단순히 동일한 키를 사용하십시오.
답변
2016 년 현재 ReCaptcha는 로컬 호스트를 더 이상 지원하지 않습니다 . FAQ에서 :
localhost 도메인은 더 이상 기본적으로 지원되지 않습니다. 개발을 위해 계속 지원하려면 사이트 키의 지원되는 도메인 목록에 추가 할 수 있습니다. 지원되는 도메인 목록을 업데이트하려면 관리 콘솔로 이동하십시오. 개발 및 프로덕션에 별도의 키를 사용하고 프로덕션 사이트 키에서 로컬 호스트를 허용하지 않는 것이 좋습니다.
localhost
사이트의 도메인 목록에 추가 하기 만하면 됩니다.
답변
이것은 나를 위해 일했다 :
“다음 테스트 키를 사용하면 항상 보안 문자가 표시되지 않으며 모든 확인 요청이 통과됩니다.
사이트 키 : 6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
비밀 키 : 6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
reCAPTCHA 위젯은 테스트 목적으로 만 경고 메시지를 표시합니다. 프로덕션 트래픽에는이 키를 사용하지 마십시오. “
BR!
답변
너무 쉽다 :
- 당신의 이동 구글 reCAPTCHA를 관리 패널
- 다음 이미지와 같이 새 사이트의 도메인에
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
}
에서 보기 : ( 참조 )
@ReCaptcha.GetHtml(@ViewBag.publicKey)
@if (ViewBag.RecaptchaLastErrors != null)
{
<div>Oops! Invalid reCAPTCHA =(</div>
}
그것을 사용하려면
A)ActionFilter
웹 프로젝트에 다음 을 추가하십시오 .
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"];
}
}
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>
참고 : 이 방법을 사용
reCaptcha_SecretKey
하면 사후 조치 에서 매개 변수를 설정 하거나ViewBag
조치 및보기에서 수동으로 reCaptcha에 대한 매개 변수를 설정할 필요가 없었으며 , 로컬 호스트 또는 웹 사이트에서 프로젝트를 실행 한 것에 따라 모든 매개 변수가 런타임시 자동으로 적절한 값으로 채워집니다. .😉
답변
Google recaptcha에서 도메인을 추가 할 때
새 도메인 추가 : localhost가 아닌 Localhost
“L”은 대문자
행운을 빕니다
답변
Google은 최근 로컬 호스트가 기본적으로 허용되도록 중지했습니다. (@Artur Cesar De Melo가 언급 한대로) 다음은 FAQ의 내용입니다.
“Localhost가 지원되는 도메인 목록에 없습니다”라는 오류가 발생합니다. 이것은 전에 일하고 있었는데 어떻게해야합니까?
localhost 도메인은 더 이상 기본적으로 지원되지 않습니다. 개발을 위해 계속 지원하려면 사이트 키의 지원되는 도메인 목록에 추가 할 수 있습니다. 지원되는 도메인 목록을 업데이트하려면 관리 콘솔로 이동하십시오. 개발 및 프로덕션에 별도의 키를 사용하고 프로덕션 사이트 키에서 로컬 호스트를 허용하지 않는 것이 좋습니다.
1 : 개발 환경을위한 별도의 키 만들기
2 : 허용 된 도메인 목록에 127.0.0.1 추가
3 : 변경 사항을 저장하고 변경 사항이 적용되도록 최대 30 분 동안 허용
답변
localhost 도메인은 더 이상 기본적으로 지원되지 않습니다. 개발을 위해 계속 지원하려면 사이트 키의 지원되는 도메인 목록에 추가 할 수 있습니다. 지원되는 도메인 목록을 업데이트하려면 관리 콘솔로 이동하십시오. 개발 및 프로덕션에 별도의 키를 사용하고 프로덕션 사이트 키에서 로컬 호스트를 허용하지 않는 것이 좋습니다.