Direkaufruf von Unterseite vermeiden

MarkusH

Stammgast
Hallo zusammen

Ich habe mal wieder eine kleine Frage, welche ich durch Google nicht wirklich beantworten konnte:
Ich möchte möglichst einfach verhindern, dass eine Unterseite auf dem Webspace direkt aufgerufen werden kann. Stattdessen sollen alle Anfragen auf die Hauptseite umgeleitet werden.
z.Bsp. jemand erstellt einen Favoriteneintrag, welcher direkt nach http://isnopu.ch/contact.php führt.
Da ich aber auf der Hauptseite einige Checks eingebaut habe und evtl. auch noch wichtige Mitteilungen dort platzieren möchte, soll der Besucher stattdessen auf http://isnopu.ch/index.php umgeleitet werden.

Ich habe einige hinweise gefunden, welche das ganze mit PHP und Sessions lösen - das erscheint mir aber etwas kompliziert.
Zudem ist es ja möglich Hottlinking von Bildern via .htaccess zu verhindern.

Kann mir jemand zeigen, wie ich dies irgendwie kombinieren kann, sodass meine "Einschränkung" via .htaccess funktioniert ?
Geht das überhaupt ?

Danke schon mal

Gruss Markus
 

Garry_ch

Neues Mitglied
hallo MarkusH

ich weiss, dass es bei PHP Sessions gibt, kenne diese allerdings nur von ASP.NET her, gehe aber davon aus dass sie ähnlich Funktionieren.

Gerade für Dein Problem scheint mir dieser Weg bestens geeignet zu sein, da ich sonst kaum gross eine Möglichkeit sehe, den Direktaufruf zu verhindern. Links können ja z.B. von Besuchern an andere weitergegeben werden, nachdem sie auf deiner Unterseite waren, ob da dann die Unterseite in einer Suchmaschine eigetragen ist oder nicht, tut nichts mehr zur Sache.

Ich verwende diese Variante auch für verschiedene Zwecke, selbst Loginchecks (nach mehr als 3 Fehlversuchen ist die Session gesperrt).

Variante:
Falls du auf eine Datenbank zugreifen kannst, hättest du da ggf. noch die Möglichkeit, den Besucher da nach z.B. IP und Browser abzufragen, ist er am aktuellen Datum schon mal auf der Seite gewesen dann lässt ihn so, wenn nicht trägst ihn in die DB ein und schickst ihn zu deiner Hauptseite.

Nachteil:
Die DB bläst sich dann mit der Zeit schon etwas unnötig auf, müsstest die Einträge ggf. zwischendurch löschen.
Der Aufwand um das so zu steuern dürfte kaum geringer sein als das mit Sessions.
 

Kovu

Stammgast
Hallo zusammen

Ich habe mal wieder eine kleine Frage, welche ich durch Google nicht wirklich beantworten konnte:
Ich möchte möglichst einfach verhindern, dass eine Unterseite auf dem Webspace direkt aufgerufen werden kann. Stattdessen sollen alle Anfragen auf die Hauptseite umgeleitet werden.
z.Bsp. jemand erstellt einen Favoriteneintrag, welcher direkt nach http://isnopu.ch/contact.php führt.
Da ich aber auf der Hauptseite einige Checks eingebaut habe und evtl. auch noch wichtige Mitteilungen dort platzieren möchte, soll der Besucher stattdessen auf http://isnopu.ch/index.php umgeleitet werden.

Ich habe einige hinweise gefunden, welche das ganze mit PHP und Sessions lösen - das erscheint mir aber etwas kompliziert.
Zudem ist es ja möglich Hottlinking von Bildern via .htaccess zu verhindern.

Kann mir jemand zeigen, wie ich dies irgendwie kombinieren kann, sodass meine "Einschränkung" via .htaccess funktioniert ?
Geht das überhaupt ?

Danke schon mal

Gruss Markus
.htaccess wäre hierbei wenig hilfreich, denn damit würde ja ein ganzer Ordner oder eine Datei dauerhaft gesperrt.

Mit einer Session hingegen könntest du ein array-Element anlegen, welches contact.php freigibt oder sperrt. BZW, wenn, sagen wir $SESSION['contactphp'] nicht existiert oder false ist, lässt du die Ausführung des Scripts auf contact.php nicht zu, wenn es true ist eben doch. So könntest du contact.php von der Seite aus freigeben, die contact.php wirklich benötigt.

Mittels header() könntest du den Besucher auf eine andere Seite umlenken, wenn contact.php nicht ausgeführt werden soll, zb:
Code:
$site = "http://www.blablabla.ch"; // <- page to redirect to

header("location: $site");
exit;
 
Zuletzt bearbeitet:
Oben