PHP Weiterleitung URL Aufruf blockieren

OpenMedia

Lieutenant
Registriert
Okt. 2016
Beiträge
706
Guten Tag CB Mitglieder,

ich wollte Fragen ob es möglich ist einen direkten Aufruf auf eine PHP Seite z.B. http://example.com/Seite.php zu verbieten und staattdessen nur durch eine Weiterleitung von der Seite http://example.com/Forward.php zu ermöglichen.

Grund dafür ich habe eine Seite die aber nicht direkt aufrufbar sein darf durch die URL Leiste oder durch Google sondern ich möchte den Nutzern nur ermöglichen auf Seite.php zu kommen wenn sie vorher auf Forward.php waren.

Könnte jemand mir helfen kann man dies durch ein Script regeln oder muss ich in Apache was ändern ?
 
Nachteil bei Referrer: Wird je nach Datenschutzeinstellungen/Virenscanner/Firewall blockiert.

Eine größtenteils gangbare Lösung:

Forward.php:
$_SESSION["Forward.php"]=true;

Seite.php:
if($_SESSION["Forward.php"]!==true) header("location: 404.html");

Einziger Nachteil: Wenn Sessions nicht funktionieren weil zb auch Session-Cookies unterdrückt sind, kann die Seite.php nie aufgerufen werden. Das ist denke ich aber ignorierbar und kann über einen Hinweistext in der 404.html ergänzt werden.
 
  • Gefällt mir
Reaktionen: OpenMedia
Einhörnchen schrieb:
Nachteil bei Referrer: Wird je nach Datenschutzeinstellungen/Virenscanner/Firewall blockiert.

Eine größtenteils gangbare Lösung:

Forward.php:
$_SESSION["Forward.php"]=true;

Seite.php:
if($_SESSION["Forward.php"]!==true) header("location: 404.html");

Einziger Nachteil: Wenn Sessions nicht funktionieren weil zb auch Session-Cookies unterdrückt sind, kann die Seite.php nie aufgerufen werden. Das ist denke ich aber ignorierbar und kann über einen Hinweistext in der 404.html ergänzt werden.


Vielen Dank jetzt habe ich 2 Seiten einmal Forward.php mit folgendem Inhalt :

Code:
<?php
$_SESSION["Forward.php"]=true;
?>

<?php header( 'Location: https://example.com/Seite.php' ) ; ?>

Und Seite.php

Code:
Secret Content

<?php
if($_SESSION["Forward.php"]!==true) header("location: 404.html");
?>

Aber es funktioniert nicht wenn ich Forward.php aufrufe kommt 404 Adblock etc alles aus
 
Hi,

ist das der komplette Code? wird "session_start" aufgerufen?

VG,
Mad
 
  • Gefällt mir
Reaktionen: OpenMedia
Madman1209 schrieb:
Hi,

ist das der komplette Code? wird "session_start" aufgerufen?

VG,
Mad


Gute Frage das ist der komplette Code bin leider PHP anfänger dachte das wäre es schon :D



EDIT : Jetzt funktioniert es :

Forward.php :
Code:
<?php

session_start();
$session_timeout = 5;
$_SESSION["Forward.php"]=true;

?>


<?php header( 'Location: https://example.com/Seite.php' ) ; ?>

Und Seite.php

Code:
Secret

<?php

session_start();
$session_timeout = 5; // 1800 Sek./60 Sek. = 30 Minuten

if($_SESSION["Forward.php"]!==true) header("location: 404.html");

?>


Jetzt meine Frage wie kriege ich hin das die Session auf Seite.php nach 5 Sekunden gelöscht wird sodass nach maximal 5 Sekunden die Seite.php nicht mehr wieder aufgerufen werden kann sondern erneut von Forward.php
@Madman1209 @Einhörnchen
 
Zuletzt bearbeitet:
schon mal daran gedacht die Hosts Datei zu ändern?
 
Zurück
Oben