Archiv verlassen und diese Seite im Standarddesign anzeigen : Passwortschutz forumübergreifen
ParaNike
25.08.2002, 22:19
Ich habe eine Homepage mit Fotoseiten und dem Forum. Da aber nicht jeder die Fotos sehen darf, sollen sie Passwortgeschützt werden und nur von den einsehbar, die auch im Forum angemeldet sind.
Die Fotoseiten sind einfache php seiten, die dann aber geschützt sein sollen, gibt es dafür einen Hack? Wenn man also eine Fotosite aufruft und nicht eingelogt ist, soll das sozusagen so sein, wie wenn man als gast eine Antwort posten will, aber nicht darf. Also das typische Loginfeld erscheinen. Ist man eingeloggt soll automatisch die Seite angezeigt werden.
Wenn die PHP-Dateien im selben Verzeichnis wie das Board liegen (ansonsten den Pfad zur global.php anpassen):
Schreibe einfach das in die zweite Zeile deiner PHP-Dateien:require('./global.php');
if ($bbuserinfo['userid']==0) {
show_nopermission();
}(Wohlgemerkt, nach "<?php")
Mystics
ParaNike
25.08.2002, 22:43
Scheint irgendwie nicht zu funktionieren. Der Quelltext sieht im moment so aus:
<?php
require('./forum/global.php');
if ($bbuserinfo['userid']==0) {
show_nopermission();
}
include "header.dat";
?>
<table width="90%" border=0 align=center>
<tr>
.
.
.
Es erscheint aber nun rein gar nichts mehr, die seite bleibt leer
ParaNike
26.08.2002, 00:19
Hab den Fehler gefunden, das funktionier anscheinent nur, wenn die php datei in dem verzeichnis des forums liegt. Auch wenn ich den pfad der global.php ändere, so stimmen dann bei require immer noch nicht die pfde innerhalb der global.php, deswegen gehts nicht!
Aber bei mir sind die dateien draußen, gibts da keine andere lösung?
Könntest z.B. die global.php kopieren, und in der Kopie dann die Pfade anpassen.
ParaNike
26.08.2002, 00:49
die global.php greift aber wiederum auf die member.php zu, die man dann auch noch editieren müsste, das ist gar nicht so einfach! Wenn man dann auf register oder "forgot passwort" klickt, dann gehen die links alle nicht, weil diverse Pfade nicht stimmen. Also wenn es keinen richtigen hack gibt, dann wird es schwierig.
ParaNike
26.08.2002, 10:58
Man kann ja das template von dem Userlogin ändern und die pfade auf globale pfade ändern, aber wie heißt das template?? Ich finde es nicht!
Du solltest zuerst in das Verzeichnis der global.php wechseln, dann die global.php ausführen und wieder zurück wechseln.
Ich hatte mir mal ein kleines Script geschrieben, wo alle nicht angemeldeten User zum disclaimer kommen. Für dich müßte das Script dann so aussehen.
<?php
error_reporting(7);
chdir('./forum');
require('./global.php');
if ($bbuserinfo['userid']==0) {
show_nopermission();
}
chdir('../');
[...]
?>
ParaNike
26.08.2002, 11:12
Das funktioniert soweit, jedoch sind da noch ziemlich viele Fehler, klickt man dann auf register, so kommt nichts, weil die pfade dann wiederum nicht stimmen. der ducht dann nach der register.php in dem verzeichnis direkt und nicht in dem forum verzeichnis. Deshalb müsste man die templates bearbeiten, damit man die Pfade alle z.b. von ./register.php auf http://www.bla.de/forum/register.php ändern kann! Dann müsste es gehen!
Im moment sieht das so aus:
http://www.digitaldreamer.de/scripte/schulsprecher.php
ParaNike
26.08.2002, 15:17
Hab die lösung, den oberen Quelltext verwenden (den mit Verzeichniswechsel) und dann im Admintool Replacements einfügen.
href=" ändern zu href="http://www.domain.de/forum/
und
src=" ändern zu href="http://www.domain.de/forum/
Nur für alle, die das auch noch interessiert hat! Danke an alle, die mir geholfen haben!!! :D
ParaNike
30.08.2002, 23:32
So, das funktioniert jetzt alles supi! Danke für die Hilfe! Jetzt aber noch eine Frage:
Wenn man sich jetzt registriert, aber noch nicht betätigt ist, dann kommt man auf die Seiten, die ich passwort geschützt habe, das soll aber nicht sein, da soll man erst drauf kommen, nach dem man bestätigter User ist! Wie geht das?
ParaNike
31.08.2002, 10:56
Kann mir den keiner mal antworten? Das ist echt dringend, im moment haben leute auf meiner Page zugriff, die es nicht sollten :(
Ich muss das Problem dringend beheben!
Ich rate mal ins Blaue hinein....wenn Deine User noch nicht freigeschaltet sind, sind noch in einer anderen Benutzergruppe, als wenn Du sie dann freigeschaltet hast.
Wenn das sos ist, kannst Du der Benutzergruppe auch den Zugriff verbieten, in dem Du einfach
if ($bbuserinfo['userid']==0) {
zu
if ($bbuserinfo['userid']==0 OR $bbuserinfo['usergroupid']==4) {
erweiterst.
Die 4 steht für die Benutzergruppe "(COPPA) Users Awaiting Moderation".
Müsste so klappen.
Natürlich kannst Du so auch noch andere Benutzergruppen ausschliessen.
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.