2014-11-25 10 views
6

Używam reCapcha na moim lokalnym serwerze testowym. Wszystko działa poprawnie, ale mam błędy:Zablokowana ramka w reCapcha

Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "http://127.0.0.1:8000". The frame requesting access has a protocol of "https", the frame being accessed has a protocol of "http". Protocols must match. 

I

Blocked a frame with origin "https://www.google.com" from accessing a frame with origin "http://127.0.0.1:8000". The frame requesting access has a protocol of "about", the frame being accessed has a protocol of "http". Protocols must match. 

w html:

... 
<script src='https://www.google.com/recaptcha/api.js'></script> 
</head> 
... 
<div class="g-recaptcha" data-sitekey="..."></div> 

Jak naprawić błędy?

Dzięki!

+0

Czy przesyłasz i renderujesz formularz przez ajax? Też mam te błędy. :( – andser

+0

@and nie ma ajax – tim

Odpowiedz

1

Jeśli używasz iframe, ta część:

Zablokowane ramkę z pochodzenia [url tutaj] dostępu ramkę z innego pochodzenia [url tutaj].

Oznacza, że ​​to nie zadziała. Ramki nie mogą się ze sobą ingerować, bo inaczej ludzie będą mogli skradać dane z jednej klatki w drugiej. Sprawdź numer same origin policy, aby uzyskać więcej informacji.

Możliwe, że możesz uprościć pewne rzeczy, pozbywając się tego błędu mieszanego protokołu: Możesz uzyskać dostęp do plików Google za pośrednictwem http zamiast https, więc próbowanie może wyeliminować połowę twoich problemów. (Możesz także po prostu użyć adresu URL podobnego do tego: //www.google.com/recaptcha/api.js zamiast określać, czy używać http lub https.)

Powiązane problemy