2017-01-06 2 views
0

Ich verwende WHMCS Abrechnungssystem. WHMCS haben ein eigenes Partnerprogramm, aber es funktioniert nur in einer Subdomain. Da die Abrechnung auf einem anderen Server erfolgen sollte, nur für den Fall.FireFox blockiert Inhalt

Also haben wir ein Skript für dieses gemacht, weil Benutzer den Hauptlink anstelle des Subdomainlinks verwenden möchten. Weil Sie dann die Subdomain my.xevo.com anstelle von xeovo.com verwenden, gehen Sie direkt zur Abrechnung und haben keine andere Wahl, als auf die Hauptseite zu schauen.

JavaScript nimmt "r" aus dem Link. Dies ist, wie verweisenden Links sehen aus wie (/? R = 1)

function ref() { 
     var vars = {}; 
     var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
     vars[key] = value; }); 
    return vars; 
} 

function file_get_contents(url) { 

    var req = null; 
    try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { 
     try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { 
      try { req = new XMLHttpRequest(); } catch(e) {} 
     } 
    } 
    if (req == null) throw new Error('XMLHttpRequest not supported'); 
    req.open("GET", url, false); 
    req.send(null); 
    return req.responseText; 
} 


function start() { 
    var id = ref()["r"]; 
    var nl = file_get_contents("https://my.xeovo.com/aff.php?aff=" + id); 
    console.log("REF ID:" + id); 

$.get("https://my.xeovo.com/aff.php?aff=" + id, function(data) { 

$(".resss").html(data); 
console.log('ok'); 

}); 



} 

window.onload=function(){ 
    start(); 
} 

Das Skript arbeitet völlig in Ordnung, aber wir sind ein kleines Problem in FireFox zu bekommen. Wir haben Chrome/Opera/IE getestet und alles war in Ordnung. Wenn Sie https://www.xeovo.com in FireFox öffnen und klicken Sie auf Zertifikat, das Sie werden diese here is screenshot

bekommen, so eine Idee, wie wir dieses Problem beheben? Vielen Dank.

Antwort

1

Wenn Sie die Browser-Konsole überprüfen (Tools> Web Developer> Web Console), gibt es folgende Fehlermeldung:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://my.xeovo.com/aff.php?aff=undefined. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). 

Nach this SO answer, es ist ein Header von der Verwendung Ihrer Ressourcen andere zu verhindern, dass Antwort hat die Lösung:

In my.xeovo.com fügen Sie die folgende Zeile in der .htaccess:

<IfModule mod_headers.c> 
Header set Access-Control-Allow-Origin "*" 
</IfModule> 

Sie könnten lesen müssen mor e über diesen Header, um es zu benutzerdefinierten Dateien zu verfeinern, anstatt alles.

Verwandte Themen