2014-11-25 10 views
6

Io uso reCapcha sul mio server di test locale. Tutto funziona bene, ma non ho errori:Frame bloccato in 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. 

E

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. 

in html:

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

Come risolvere che gli errori?

Grazie!

+0

Invii e esegui il rendering del tuo modulo tramite ajax? Ho anche questi errori. :( – andser

+0

@andser no ajax – tim

risposta

1

Se stai usando un iframe, questa parte:

Bloccato un telaio di origine [url qui] l'accesso a un telaio di origine [altro URL qui].

Significa che non funzionerà. I frame non possono interferire tra loro, altrimenti le persone sarebbero in grado di prelevare i dati da un frame nell'altro. Controlla il same origin policy per maggiori dettagli.

Potresti essere in grado di semplificare le cose da solo eliminando l'errore di questo protocollo misto: puoi accedere ai file di Google tramite http anziché https, quindi provare a eliminare la metà dei problemi. (Puoi anche utilizzare semplicemente una url come questa: //www.google.com/recaptcha/api.js invece di specificare se utilizzare http o https.)