htaccess + php

svenja

Mitglied
Hallo ich habe ein rieessssseen problem und ich hoffe mir kann einer weiterhelfen :-) wäre jedenfals super *FG

ich habe einen ordner der mit htaccess geschütz ist in dem ordner liegt eine pdf datei. Ich habe mir ein php geschrieben, wo ein link zu diesem ordner mit dem pdf verweisen bzw. öffnen soll, aber das geht irgendwie nicht so recht, wenn ich den link in die adressleite eingebe geht es ich werde aber vorher mit der htacces login-abfrage nach dem user und pass gefragt.

Wenn ich es aber über einen link mache z.b so http://user:pass@seite.de/ordner/test.pdf nimmt der das nicht ich werde immer und immer wieder nach der passwort gefragt ob wohl er es ja schon in dem link hat.
Zudem steht auch noch das passwort unten in der status leiste.

Kann mir jemand helfen bzw. sagen was ich falschmache bzw. wie ich das passwort nicht mehr eigeben muss und der das nicht mehr in der adress- und statusleist anzeigt Wäre super lieb.

Liebe grüsse Svenja

ps. Ein Frohes neues Jahr 2004
 
nun da gibts nur eines.. leg dir ne php datei an die das hier macht:

header("Content-type: <contenttype>");
readfile("meinverzeichnis/meinedatei.ext");

das <contenttype> musst du gegen den MIME type der datei ersetzen, und den pfad natürlich auch anpassen is klar.

Wenn du nun auf diese PHP datei linkst dann umgeht PHP den schutz durch .htaccess und schickt dir datei direkt an den browser, wobei du vorher natürlich noch prüfen kannst wer denn berechtigt ist die datei zu sehen...
 
Hi,

danke für deine Hilfe, ich habe mir selbst was zusammengebstastel.

Ich habe eine php datei gemacht und dort das pdf via

<EMBED SRC="http://user (doppelpunkt) passwort@link.de/test.pdf width="656" height="387"></EMBED>

mit dem passwort eingebunden.

Es funktioniert auch. Aber meine Frage an dich oder jemand anderen Ist das sicher?

Danke für eure Hilfe

Liebe grüsse
svenja
 
Hi Du...

Na ja, ich denke schon, dass Du es sicher machen könntest, wenn du den "user" und das "passwort" (innerhalb der Session) aus einer Datenbank holst.

Was "chibisuke" mit den MIME Typen meinte, ist meines Erachtens nach nichts für Dich, da Du Deine Dateien ja nicht aus einer Datenbank holst.

Falls du die Dokumente aus einer Datenbank holen solltest:

PHP:
$zeiger=mysql_query("select dokument,type,name from #TABELLE# where id=$user");
$ergebnis=mysql_fetch_array($zeiger);

$file = $ergebnis['type'];
$name = $ergebnis['name'];

header("Content-type: $file");


if($file == "application/pdf"){
header("Content-Disposition: attachment; filename=$name");
}elseif($file == "application/msword"){
header("Content-Disposition: attachment; filename=$name");
}elseif($file == "application/vnd.ms-excel"){
header("Content-Disposition: attachment; filename=$name");
}elseif($file == "application/vnd.ms-powerpoint"){
header("Content-Disposition: attachment; filename=$name");
}elseif($file == "text/html"){
header("Content-Disposition: attachment; filename=$name");
}elseif($file == "image/gif"){
header("Content-Disposition: attachment; filename=$name");
}elseif($file == "image/pjpeg"){
header("Content-Disposition: attachment; filename=$name");
}elseif($file == "application/x-zip-compressed"){
header("Content-Disposition: attachment; filename=$name");
}

print $ergebnis['dokument'];

P.S.: Tut mir leid, dass ich bisher noch keine Zeit hatte, Deine PN zu beantworten...

LG,
Claus
 
Zuletzt bearbeitet:
Hallo Claus,

jezt verstehe ich nur noch Bahnhof :(

Die dateien die Liegen in einem gesonderten ordner auf dem ftp server (verzeichnis) Das Verzeichnis ist Geschützt. Wie komme ich denn nun über php an die dokumente ran? so das ich evtl. den passwort schutz bestehen lassen kann oder irgendwie anderst.

LG

Svenja
 
Die Frage ist doch, ob Du das Ganze innerhalb einer Session laufen läßt.

Falls das der Fall ist, wäre es "kinderleicht" Deinen Wunsch zu realisieren.

Ansonsten wirst Du Dich wohl mit dem "htaccess"-Schutz (und der Eingabemaske) zufriedengeben müssen. Da es meiner Meinung nach auch nicht sinnvoll ist das Passwort im Link zu übergeben, da somit JEDER Dein Passwort sehen kann, wenn er sich den Quelltext des Dokuments im Browser ansieht (Ansicht -> Quelltext anzeigen)

Mein Hinweis:

Das Login mit Sessions müßtest Du ja nun haben... *sich daran noch erinnert*

Innerhalb der Session kannst du ja einfach auf das Dokument verweisen. Somit musst du das Dokument mit keinem "htaccess"-Schutz belegen. Externe, die sich nicht "angemeldet" haben, sehen somit auch nie diesen Link.

Alternativ kannst Du zu den Sessions auch eine extra Passwortabfrage hinzufügen, bei der sich jeder User nochmals mit seinem Passwort "authen" muss, um den Link angezeigt zu bekommen...
 
Ich meinte zwar nicht das die datei aus einer datenbank kommen sollte, und das hatt damit nix zu tun..

sondern du kannst mit PHP die datei an den client senden ohne das du den client auf die datei selbst weiterleiten musst..

einfach zuerst den content type header senden, und dann ein readfile auf die datei anwenden. damit muss kein user in das geschützte verzeichnis direkt rein.
 
HILFEEEEE!:eek:

Also wenn es möglich ist nehme ich das auch via session da die user ja sowieso schon angemeldet sind. Aber ich weis halt nicht wie es geht das einzubinden bzw. wie sicher das ist nicht das jeder auf den ftp server kann und die dateien lesen kann das soll ja nicht sein.

Kannst du mir helfen?

ICh weis nicht wieeeeee.

Bitttttttttteeeee *liebguck

svenja
 
versuchs mal so:

PHP:
<?php
header("Content-Type: application/pdf");
readfile("pfad/zu/geschuetztem/verzeichnis/datei.pdf");
?>

allerdings, bedenke das du sonst keine ausgaben machen darfst.
 
Zurück