Uhrzeitsperre für externen link
lima-city → Forum → Die eigene Homepage → Homepage Allgemein
ahnung
benutzen
code
date
datei
funktionieren
idee
installieren
jemand
kennen
leiste
login
problem
sperren
uhr
url
verhindern
verschieben
verzeichnis
zugang
-
Gibt es eine Möglichkeit, eine vollständige webadresse ausblenden zu lassen? so dass sie für einen ganz normalen user (ohne kenntnisse) unsichtbar ist?
Es handelt sich um meinen chat der auf meiner Seite schlummert. manche User haben den direkten link. Und das soll so nicht.
Also.. der Chat soll nur bis 22 Uhr \"geöffnet\" sein. Aus sicherheitsgründen, dieses Problem wurde gelöst. ABER über den direkten Link auf meine Seite (die seite wo der caht angeboten werden soll, ist eine andere) können die User IMMER wann sie wollen in den chat.
Kann ich auf lima eine Uhrzeitsperre einrichten, sodass dass hinfällig wird? leider hat sich das herumgesperochen... Die user von denen ich wusste, dass sie über den direkten link kommen, (weil es schon nach 22 Uhr war) hab ich gebeten es NICHT rumzuerzählen, wie zu erwarten haben sies doch gemacht... anscheinend.
Was würdet ihr voschlagen? kann man den link denn irgendwie verstecken, oder gar faken? Dann würde ich den chat in ein anderes verzeichnis schmeissen. oder gibts noch weitere Vorschläge? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Kannst du mit PHP machen
Wenn Uhrzeit <22 Uhr gib Link aus,
wenn Uhrzeit >22 Uhr gib Link nicht aus.
Würde aber nicht verhindern, dass jemand, der den Link kennt ihn nicht manuell in URL-Leiste eingeben kann.
Beitrag geändert: 11.7.2008 11:31:19 von karpfen -
Mit PHP kannst du eigentlich ganz einfach eine ganze Seite ab einer bestimmten Zeit sperren:
<? if((date(\"G\")>=22) or (date(\"G\")<8) { echo \"Der Chat ist geschlossen - Offen von 8-22 Uhr!\"; } else { //Da kommt jetzt der gesamte Inhalt des Chatscripts rein } ?>
MfG
sebigisler
//Oh bin ich lahm.... Ich würde aber meine Lösung trotzdem vorziehen - nur den Link zu einer bestimmten Zeit auszugeben ist unsinnig. Da muss schon das gesammte Script in die Bedingung rein. (Wenn das Script aus mehreren Dateien besteht, muss das eben einfach um jede drum). Alternativ könnte man auch einfach den Pfad zum Script ändern und das dann includen.
Beitrag geändert: 11.7.2008 11:35:22 von sebigisler -
okay.. ja wenn ich eine seite damit sperren kann um eine bestimmte uhrzeit können die user den link ruhig kennen xD
also, der Chat liegt in einem eigenen verzeichnis hier auf lima, abgegrenzt von meinen anderen Daten also. Dieses verzeichnis um 22 Uhr dichtzumachen.. würde theoretisch gehen??
Da tummeln sich nämlich grösstenteils kinder rum
EDIT: ohhhhhhhhh es gibt ein Problem welches ich nicht bedacht habe..
Für Admins, und Mods soll der chat aber offenbleiben....
Beitrag geändert: 11.7.2008 11:44:42 von sunny017 -
Es wäre denke ich extrem hilfreich, zu wissen auf welcher TEchnologie der Chat aufbaut etc. Denn ich hatte es so verstanden, dass der Chat quasi als Applet zu einem externen Server oder so eingebunden wird. Gibt ja z.B. Applets die IRC-Server benutzen. Da ginge dann keine der Lösungen und mir fiele auch nichts ein, wie das funktionieren soll.
Ansonsten könntest du auch gleich in die Chatlogik das einbauen, wenn du zum Source Zuganghast, also, dass das Chat-Applet (Flashdings oder was auch immer) Einfach den Dienst verweigert.
[edit] Mir kam gerade noch eine Idee:
Ne PHP-Datei schrieben, die die Chatdateien ab einer bestimmten Uhrzeit in ein mit .htaccess geschütztes Verzeichnes verschieben udn eine zweite, die zurückverschiebt. Dann per Cronjobdienst immer um 22 Uhr ins geschützte Verzeichnis verschieben lassen, und ab 6 Uhr morgens oder so wieder zurück ;)
Prinzipiell finde ich die Idee mit der Prüfsumme aber nicht schlecht, ist glaub ich verhältnismäßig einfach zu machen und wirksam. Das einzige, was es dir aber garantiert ist der Login.
Beitrag geändert: 11.7.2008 11:48:42 von merovius -
Würde aber nicht verhindern, dass jemand, der den Link kennt ihn nicht manuell in URL-Leiste eingeben kann.
Lösungsmöglichkeiten:
- Zufällige Prüfsumme als Parameter an den Link ab 22 Uhr hinzufügen, so dass nur diejenigen, die ab 22 Uhr auf den Link auf der Webseite klicken zugang haben (jede Prüsfsumme nur einmalig gültig, somit keine Weitergabe des Linkes möglich)
- Refferer überprüfen (bei manchen Browsern Probleme mit Refresh)
- Login erzwingen und bestimmte User ab 22 Uhr aussperren /Edit: Wäre die beste Möglichkeit, wenn du von Admins/Mods, also registrierten usern redest.
Beitrag geändert: 11.7.2008 11:46:20 von trueweb -
Würde aber nicht verhindern, dass jemand, der den Link kennt ihn nicht manuell in URL-Leiste eingeben kann.
Lösungsmöglichkeiten:
- Zufällige Prüfsumme als Parameter an den Link ab 22 Uhr hinzufügen, so dass nur diejenigen, die ab 22 Uhr auf den Link auf der Webseite klicken zugang haben (jede Prüsfsumme nur einmalig gültig, somit keine Weitergabe des Linkes möglich)
- Refferer überprüfen (bei manchen Browsern Probleme mit Refresh)
- Login erzwingen und bestimmte User ab 22 Uhr aussperren /Edit: Wäre die beste Möglichkeit, wenn du von Admins/Mods, also registrierten usern redest.
Beitrag geändert: 11.7.2008 11:46:20 von trueweb
Nicht registrierte User haben gar keinen Zugang zum Chat. wenn sie den Link kennen würden (von mir) dann schon.. aber ansonsten nicht.
Der Login erfolgt automatisch über ein Bild.. Wenn man da drauf klickt ist man automatisch mit dem Usernamen im Chat mit dem man sich auf der Seite angemeldet hat.
User sehen auf der seite um 22 Uhr dass der chat geschlossen ist, können aber über den Link jederzeit rein,wenn sie ihn kennen. Mods/admins können den chat auf über die seite jederzeit betreten. Die sheen keine sperre...
Admins gibt es 4, mods gibt es 3 d.h es wäre nicht aufwändig diesen explizit zu erlauben, dass sie nach 22 Uhr in den chat dürfen. aber das Überschreitet meine Vorstellungskraft
-
Dann bleibt dir imho nur meine Möglichkeit mit Cronjobs und .htaccess. Kannst per .htaccess ja Passwortschützen und nur den Admins das Passwort geben.
Ansonsten sehe ich keine Möglichkeit. -
Wenn du wirklich willst, dass es unmöglich ist den Chat zu benutzen, dann hift wahrscheinlich nur .htaccess,
oder Im Flash die Uhrzeit sperren.
Wenn es dir aber reicht, nur die Seite auf der das Flash Objekt ist zu sperren, kannst du das auch so machen:
<?php session_start (); $erlaubt = array(0 => \"admin1\" , 1=> \"admin2\"); //da dann die Admins und Mods eintragen if (date(\"G\")>=22) || (date(\"G\")<8 || !in_array($_SESSION[\"user\"], $erlaubt)) //Feld mit dem Benutzernamen eintragen { header (\"Location: chat_gesperrt.php\"); } //Hier dann der Inhalt der Chat Seite //---- //---- ?>
Gruß, prog
@edit: Ich hab die Zeilen umgebrochen, um nicht das Lima-Layout zu zerstören;)
Beitrag geändert: 11.7.2008 14:31:48 von prog -
Soo es gibt einen neuen Zwischenstand.
Die datei, die den Chat aufruft ist die flashchat.php. Diese hab ich kopiert und umbenannt. Also User und Moderatoren dürfen nach 22 Uhr nicht mehr in den Chat. Das erledigt die flashchat.php.
Die 2. datei die ich umbenannt hab, erlaubt es, den Admins den Chat zu betreten. Das wäre also erledigt und funktioniert.
Wobei ich jetzt wieder beim alten Stand bin, denn die flashchat.php muss ja noch \"gesperrt\" werden. Habe es mit dem Code von sebigisler versucht. Bringt nix oO.
Wenn der Webmaster wieder on ist, muss ich schauen ob ich den letzten Tipp hier umsetzen kann, wird aber hinfällig sein nehm ich an, da das mit den benutzern Funktioniert -
Okay, eine Idee von mir mal wieder:
- Chat-Flashdatei in ein per .htaccess gegen jeden Zugriff geschützen Ordner verschieben (bin mal davon ausgegangen, dass der geschützte Ordner \"protecteddir\" heißt und dass deine Flashdatei \"chat.flw\" heißt)
- Eine chat.php machen, die folgenden Code enthält:
<?php session_start (); $erlaubt = array(0 => \"admin1\" , 1=> \"admin2\"); if (date(\"G\")>=22) || (date(\"G\")<8 || !in_array($_SESSION[\"user\"], $erlaubt)) { echo \"Chat ist weg, viel zu spät!\"; } else { readfile(\"protecteddir/chat.flw\"); } ?>
- So, und nun der Clou: Auf deiner Chatseite bindest du, statt der chat.flw die oben definierte chat.php, die im ungeschützten Bereich liegt ein. Also statt
src=\"chat.flw\"
einfach
src=\"chat.php\"
eingeben. Vielleicht kann irgendwer, der sich damit auskennt, ja hier schrieben, ob readfile wirklich auch binäre Daten ordnungsgemäß einliest und ausgibt, und ich habe echt KEIN PLAN, was passiert, wenn man über ein Embed- oder Object-Tag auf eine Textdatei verweist (das würde passieren, wenn es nach 22 Uhr ist), aber das Prinzip sollte funktionieren. Es basiert darauf, dass niemand auf die Flash-Datei selber zugreifen kann, sondern nur auf die PHP-Datei. In dieser steht dann die Sperre und sie gibt, statt eines Verweises auf die Flashdatei, die Datei selber aus. Das ist so wie ein PHP-Image. Also, meiner Ansicht nach, besser wirds kaum gehen.
Das einzige, was wie gesagt zu ändern wäre, wäre möglicherweise dass man, statt Textdaten auszugeben, wenn es zu spät ist - was möglicherweise zu Fehlern führt - eventuell eine zweite flw zu erstellen, die nur anzeigt, dass es zu spät ist, und dann statt des echos diese Datei mit readfile() auszugeben. Und möglicherweise muss dir irgendwer bechreiben, wenn das mit readfile nicht geht, wie man eine binärdatei ausliest und ausgibt.
Achja und ganz wichtig: Achte darauf, dass in der PHP-Datei keine Zeielnumbrüche, Leerzeichen oder sonst IRGENDWELCHE Zeichen ausserhalb des PHP-Codes stehen, d.h. sie muss mit <? beginnen und mit ?> enden. Denn bei Binärdaten kann sowas sonst zu bösen Fehlern führen. -
Ich selber hab leider nicht so viel ahnung von PHP. Hatte gehofft dass es mit einer einfachen abfrage, wie schon mal vorgeschlagen wurde, funktionieren wird.
also:
Ist es früher als 22 Uhr -> chat geht
ist es später/gleich 22 Uhr -> pech
ich muss jetzt erstma warten bis der Webmaster on ist, dann werd ich ihm das vorgeschlagene zeigen (kann ja e nix ändern, weils der Chat ja nicht geht). Er hat mehr ahnung von PHP als ich. (hat das aber auch ned hinbekommen mit der Zeitsperre). Auf seinem Webspace darf er aber leider keinen chat installieren, wär ja zu einfach -
Ich selber hab leider nicht so viel ahnung von PHP. Hatte gehofft dass es mit einer einfachen abfrage, wie schon mal vorgeschlagen wurde, funktionieren wird.
also:
Ist es früher als 22 Uhr -> chat geht
ist es später/gleich 22 Uhr -> pech
ich muss jetzt erstma warten bis der Webmaster on ist, dann werd ich ihm das vorgeschlagene zeigen (kann ja e nix ändern, weils der Chat ja nicht geht). Er hat mehr ahnung von PHP als ich. (hat das aber auch ned hinbekommen mit der Zeitsperre). Auf seinem Webspace darf er aber leider keinen chat installieren, wär ja zu einfach
Also, mein Weg ist so ziemlich der einzige, der mir einfiele, der darum navigiert, dass man einfach ansonsten sich den Link zur flw rauskopieren kann und den direktlink benutzen. Das einzige, was sonst noch ginge wäre den Chat direkt zu manipulieren, aber sonst kannst du das immer umgehen. Und halte das eigentlich für reht einfach, hab dir sogar den Code geschrieben ;) Sollte nicht zu schwer sein, das auszuprobieren... Wenn das nicht funktioniert, dann schreib mich per PN an, die Lösung sollte man zum Laufen bekommen (und wie gesagt, bin ziemlich stolz auf die Idee ^^).
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage