WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Rund um die Administration von Server und Webserver, Apache, Linux, Mailserver, FTP, SSH, MySql, Windows Server, u.v.m.


Forum » Server-Administration und Verwaltung » .htaccess RewriteRule Variablenübergabe » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von bepo_mail
Session hat mir nun letztendlich geholfen, die UIN fuer jeden Request vorzuhalten und damit den gültigen Login zu überprüfen.
thx
von bepo_mail
das problem mit der fehlenden UIN besteht bereits wenn die erste html seite erfolgreich angezeigt wird: die seite wird noch angezeigt, aber jedes bild erzeugt ja einen neuen request und bei diesem fehlt dann die UIN auch schon
von bepo_mail
ah ok, jetzt hat´s bei mir klick gemacht! den query string muss ich gar nicht expilzit in der RewriteRule mit übergeben ... der ist in der checkAccess.php verfügbar. Dafür erstmal danke!

dann hab ich jetzt ein logisches Problem...

was ich eigentlich vorhabe:
ein user kann sich per sofwarelogin (<form>login</form>) einloggen und es wird eine UIN (Uinque Identifier Number) gerneriert. Alle geschützten Seiten haben ein require("loginScript"), wo anhand der UIN erkannt wird, ob der benutzer momentan einen gultigen login hat - wenn ja darf er einfach die seite sehen, wenn nein, muss er sich einloggen. soweit so gut.
nun wollte ich ein komplettes verzeichnis (woanders auf dem server) per .htaccess vor unerlaubten zugriffen schützen. allerdings, sollen user, die einen gültigen software-login haben auch zugriff auf das geschütze verzeichnis haben.
dazu habe ich die hier gepostete .htaccess entworfen, die jede anfrage in dem verzeichnis an die checkAccess.php weiterleitet.
die checkAcess.php benötigt nun die UIN. Anhand dieser kann checkAccess.php in der DB die gütlitgkeit des Logins überprüfen. Wenn nun eben ein gültiger software-Login vorliegt, wird die ürsprünglich angefragte datei von der checkAccess.php geöffnet, der entsprechende header() und der inhalt gesendet.

Und hier nun das konkrete Problem:
Nun wird die Seite auch tatsächlihc angezeigt! Wenn dort allerdings ein Link auf eine weitere Datei in dem geschützen Ordner ist, fehlt die UIN und die Seite wird nicht angezeigt (weil kein gültiger Login gefunden wurde).

Bevor ich euch jetzt noch mehr unnötig zumülle ... mache ich lieber schluss.
hat vielleicht jemand eine idee, wie man das hinbekommen könnte?

THX
von sDiver
Jo, mit der Rewrite-Rule lenkst Du ja alle anfragen an checkAccess.php
Da bekommst Du wie beschrieben die Variablen und Inhalte.

Dann Variablen für Include bereitstellen z.B. checkAccess.php?UIN=1234

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9:
while ( list( $key, $val ) = each( $HTTP_GET_VARS ) ) { 
	$x = $key; // 
	$$x = $val; // setzt die Variable $UIN mit dem Wert 1234
} 
if ( erlaubt ) {
	include ("blabla.php");
// oder
	include ( getenv("REDIRECT_URL") );
}


evtl. noch ein global $UIN im includeten php, das sollte es eigentlich sein !
von bepo_mail
hmm, ok. aber das müsste ich machen, wenn ich es im PHP-Skript ausgeben möchte, odeR? vielleciht habe ich mich auch blöd ausgedrückt ...

ich würde gerne in der -->.htaccess<-- die RewriteRule so ändern, dass dort die variablen des originalaufrufs an das Rewrite-Ziel (in meinem fall das PHP-Skript) weitergegeben werden.

Nach oben