PHP-Erlauben Zugriff auf spezielle referrer-url/Seite nur
Also meine Frage ist einfach, ive verwendet die folgende Methode für den Zugriff auf das php-Skript über die referrer-domain-Namen, aber ich will erlauben Sie den Zugriff nur für eingetragene Partner matching die vollständige url.
<?php
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'] != 'domain.com')
{
echo "Eexcuting code here";
} else {
echo('Hot Linking Not Permitted');
//display some message /image /video
exit;
}
?>
Also, wenn das referrer-url entspricht http://www.domain.com/page.html dann Zugriff zulassen else if-block.
Dies wird nicht sicher sein. Ich konnte problemlos auf die Seite zugreifen, wenn ich wollte.
Ok. Also, was brauchen Sie uns?
Diese globalen Variablen sind sended durch den browser. Jeder kann diese ändern.
Ja, ich bin nicht mit es als Sicherheit, sondern für die Sperrung hotlinking, wenn die url angeben, entspricht die Webseite, die Sie müssen kommen, um es anzuzeigen.
Ok. Also, was brauchen Sie uns?
Diese globalen Variablen sind sended durch den browser. Jeder kann diese ändern.
Ja, ich bin nicht mit es als Sicherheit, sondern für die Sperrung hotlinking, wenn die url angeben, entspricht die Webseite, die Sie müssen kommen, um es anzuzeigen.
InformationsquelleAutor C0nw0nk | 2013-02-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird es nicht sicher sein, weil der referrer-Daten können problemlos manipuliert werden. Allerdings, wenn es zu Ihren Anforderungen passt, dann sollten Sie gut mit Ihrem code bereits seit
$_SERVER['HTTP_REFERER']
enthält den vollständigen referrer-URL und nicht nur die domain. Tatsächlich, Ihr Geschenk-code Bedarf einiger Anpassungen, weil es nicht so funktioniert:Beachten Sie, dass, wenn Sie überprüfen, ob HTTP_REFERER festgelegt ist, bevor die überprüfung, ob es was Sie wollen, die Leute würden bekommen, um Ihr Skript ohne referrer auf allen, so dass Sie überprüfen sollten Sie in jedem Fall. Nun, die überprüfung für eine bestimmte URL ist viel einfacher:
Würde auch, dass die Arbeit als ein Spiel für query-strings an das Ende der url ? " - Seite.html?123"
Ja, es wird mit denen genauso.
+1 für hervorragende snippet.
$_SERVER['HTTP_REFERER'];
können leicht gefälscht werden.InformationsquelleAutor Gargron
Was ist es, dass Sie versuchen zu schützen?
Sollten Sie nie das Vertrauen HTTP_REFERER, wie es manipuliert werden können (wie andere haben darauf hingewiesen). Auch einige firewalls und security-software umschreiben oder entfernen der referer, und nicht alle Browser melden Sie es richtig.
Wenn es sensible Daten, dann würde ich persönlich pass hash-zwischen den Seiten.
InformationsquelleAutor fronbow