PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Session verlinken


Robschwelm
29.09.2004, 14:29:28
Also folgendes Problem habe ich. Und zwar möchte ich eine Session die die MySQL Datenbank ausgibt verlinken. Beispiel die Datenbank gibt bei den Userdaten die Homepage eines Users aus die dann verlinkt werden soll. Was muss ich dann als Link angeben?

Beispiel:
https://www.comos.de/test/de/login/index_login.html
User: Mustermann PW: testpass

Da möchte ich gerne dass "ftp://username:pwd@hostname" (was die Datenbank ausspuckt, je nach user ist der link ja beliebig) verlinkt wird (also auch mit ftp://username:pwd@hostname)
genauso aber wenn die Datenbank ftp://username2:pwd2@hostname2 ausspucken würde dass es mit ftp://username2:pwd2@hostname2 verlinkt wird. Wie mach ich das?

Der Code sieht wie folgt aus:

Land: <? echo $_SESSION['land']; ?><br>
Verzeichniss: <? echo $_SESSION['verzeichniss']; ?></a><br>

xabbuh
29.09.2004, 14:44:52
<?php
print '<a href="' . $address . '">' . $title . '</a>';
?>

Robschwelm
29.09.2004, 14:47:16
und wo genau gehört das hin?

xabbuh
29.09.2004, 14:49:53
An die Stelle, an die dein Link soll?!

meikel (†)
29.09.2004, 14:50:21
Original geschrieben von Robschwelm
Da möchte ich gerne dass "ftp://username:pwd@hostname" (was die Datenbank ausspuckt, je nach user ist der link ja beliebig) verlinkt wird (also auch mit ftp://username:pwd@hostname)
genauso aber wenn die Datenbank ftp://username2:pwd2@hostname2 ausspucken würde dass es mit ftp://username2:pwd2@hostname2 verlinkt wird. Wie mach ich das?
Solche Links kannste komplett knicken!
1. müßte der diesbezüglich mehrfch reparierte IE solche Links nicht mehr abarbeiten (@ im Link)
2. würde ich Dir mit dem Anwalt drohen, wenn Du zB. meine FTP Zugangsdaten weithin sichtbar für jede Suchmaschine als HTML Dokument ausgibst.

Robschwelm
29.09.2004, 15:03:22
@meikel:
zu 1.: Der Link funktioniert einwandfrei, auch mit @. Egal ob in einer Datei oder ob ich den Link oben in der Adressleiste eingebe.

zu 2.: Der Link ist ja nur für bestimmte Leute zugänglich die auch die Rechte dazu haben bzw denen der Server ja gehört.
Außerdem tut das doch nicht zur Sache, oder? ;-)

@xabbuh:
Ich glaub du hast mich falsch verstanden :/ was muss ich denn für $adress und $titel eingeben? Vll kann mir das einer genau schicken was ich einsetzen muss? Code steht ja unten.
Oder muss ich $adress und $titel nur irgendwo extra definieren?

xabbuh
29.09.2004, 15:27:34
Original geschrieben von Robschwelm
zu 1.: Der Link funktioniert einwandfrei, auch mit @. Egal ob in einer Datei oder ob ich den Link oben in der Adressleiste eingebe.
Neue IE-Explorer Versionen interpretieren meines Wissens nach Adressen mit einem @ nicht mehr als gültige Adressen. Im Off-Topic Forum gab es dazu, glaube ich, auch mal ein Thread.

EDIT: Link (http://www.selfphp.info/forum/showthread.php?threadid=7111)

Original geschrieben von Robschwelm
Außerdem tut das doch nicht zur Sache, oder? ;-)
Die Leute, deren FTP-Zugangsdaten du so veröffentlichst, dürften das sicher anders sehen.

Original geschrieben von Robschwelm
was muss ich denn für $adress und $titel eingeben?
$address steht für die Variable, die die URL enthält, die aufgerufen werden soll. $title steht für die Variable, die die Beschreibung des Links enthält. Dabei kann $title durchaus identisch mit $address sein.

Robschwelm
29.09.2004, 15:35:13
danke für eure hilfe!

meikel (†)
29.09.2004, 18:17:15
Original geschrieben von Robschwelm
zu 1.: Der Link funktioniert einwandfrei, auch mit @.
Mit welchem Browser in welcher Funktion?

Kleiner Tip: sowas kannst Du, wenn Du auf HTTP Konformität legen solltest, in etwa mit fsockopen() nachbasteln.

>Egal ob in einer Datei oder ob ich den Link oben in der Adressleiste eingebe.

<grrr> Es geht um den Link! Aufgrund von solchen Schweinereien hatte MS ein paar Bugfixes für den IE veröffentlicht, weil der IE sonst 'Schei*e baut.

>zu 2.: Der Link ist ja nur für bestimmte Leute zugänglich die auch die Rechte dazu haben bzw denen der Server ja gehört.

Wer sich darauf verläßt, ist dumm dran.

>Außerdem tut das doch nicht zur Sache, oder? ;-)

Es tut. Ich zumindest bin, bezüglich der Sicherheit, ein Paranoiker. Auch gut so, weil meine Kiste(n) bis jetzt (hoffentlich) noch nicht geknackt wurden.

Allerdings verkneife ich mir solche Hilfestellungen, bei denen ein Teil (oder alles) der Logindaten schon im Link verraten werden. Die Statuszeile (die man angezeigt bekommt, wenn man notfalls JS ausknipst) ist da sehr verräterisch.

Robschwelm
30.09.2004, 09:47:02
ok ok geb dir ja recht ;)

Hab aber nen neues Problem :(

Ich habe einen Download der über die Datenbank läuft. Also der Link ist in der DB eingetragen und das File aufm FTP.

Jetzt hab ich die Download.php, den Link in der Datenbank und den Link aufm FTP. Aber der Download funktioniert irgendwie nicht weil ich nciht das richtige Verzeichniss angegeben habe, find den Fehler aber nicht.

Die Datei liegt beispielsweise auf dl/datei.zip
in db ist momentan datei.zip eingetragen.
und so sieht die download.php aus

<?php
session_start();

if (@$_SESSION['loggedin'] == "true")
{
$id = $_GET['what'];

include("config.php");
$connection = @mysql_connect($db_server,$db_user,$db_pass);
$result = @mysql_select_db($datenbank);
$result = @mysql_query("SELECT * FROM downloads WHERE id='$id' LIMIT 1");
$result = @mysql_fetch_array($result);

$filename = "docs/".$result['link'];
header("Content-Type: x-type/subtype");
header("Content-Length: ".filesize($filename));
header("Content-Disposition: attachment; filename=".$result['link']);
readfile($filename);
}
else
{
print "nicht eingeloggt";
}

?>

Was mach ich falsch?

c4
30.09.2004, 09:50:57
"$filename = "docs/".$result['link'];"

vs

"Die Datei liegt beispielsweise auf dl/datei.zip"

Wo könnte da nur der Fehler liegen...