wie zu verwenden urlencode( ) in meinem Beispiel?
Habe ich überprüft php.net
und Lesen Sie ein paar Beispiele, wie urlencode( )
funktioniert, aber irgendwie kann ich einfach nicht get it right. Kann mir jemand eine hand?
es wird eine Menge zum Beispiel so hoffentlich meine kurze Beispiel würde Sinn machen.
Habe ich eine Seite namens 2.php
und es wurde genannt, um zu zeigen, einige Inhalte eines .txt
Datei gewählt 1.php
.
Bin ich gesagt, um einen link für 3.php
und der link sollte so Aussehen wie /3?filename=a.txt
mit dem Dateinamen als GET
parameter name und Gewährleisten GET
parameter-Wert urlencoded
mit der urlencode( )
Funktion.
aber ich bin verwirrt, wie und wo sollte ich urlencode()
machen, damit es funktioniert.
Werde ich einfügen meine 2.php code hier...ich vereinfachte die codes ein bisschen...
<?php
$fileContents = file("./aaa/" . $_GET["course"] . ".txt");
echo "<table border=\"1\">";
foreach($fileContents as $row)
{
echo "<tr>";
$contents = preg_split("/,/", $row);
foreach($contents as $eachline)
{
echo "<td>";
if(!(preg_match("/@/", $eachline)))
{
echo trim(ucfirst($eachline));
}
else
{
echo trim(strtolower($eachline));
}
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
echo "<a href='./1.php'>Choose another txt file</a><br/>";
echo "or<br/>";
echo "<a href='.3.php?'>Work with this txt file</a>";
?>
ABER...3.php option muss ein query-string angehängt: der name der text-Datei, die ausgewählt wurde, in 1, also statt ./3.php die url sollte so etwas wie ./3?filename=asdf.txt
Verwenden "filename" als GET-parameter name. Sicherstellen der GET-parameter Wert urlencoded mithilfe der urlencode ( ) - Funktion.
aber ich bin mir gerade nicht sicher, wie man es an die Arbeit....
Beachten Sie, dass dieses system anfällig sein, um Remote File Inclusion, wenn nicht richtig behandelt
eingefügt....aber Art vereinfacht es ein wenig, so dass es nicht zu viel zu Lesen, aber hoffentlich noch in der Lage zu verstehen,
beachten Sie, dass das Lesen von Dateinamen mit php kann eine Frage der Sicherheit. denkt über das folgende Beispiel:
/3?filename=.htpasswd
oder /3?filename=../../etc/passwd
oder /3?filename=../any.php
In allen Fällen, Lesen Sie beliebige Informationen ein Benutzer sollte nicht in der Lage, um zu sehen. Ich hoffe, ich habe das Beispiel übersichtlich genugInformationsquelleAutor Dora | 2013-02-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie wickeln Sie das Teil, das sollte url-kodiert sein, die in der Funktion innerhalb der Zeichenfolge:
Wo
.
ist die Verkettung von 2 Ausgängen.Ich glaube, ich fange an, es zu bekommen. aber wenn ich es auf diese Weise...$url = "./3.php?filename=" . urlencode($_GET["aaa"] . ".txt"); ich dachte, wenn ich $_GET["Dateiname"] wird mir das gleiche Ergebnis wie $_GET["aaa"]. Ist dies auch einer von den guten Ergebnis für die Verwendung von urlencode? Denn wenn ich nur $_GET["aaa"] 3.php der Wert kann nicht gefunden werden, da es nicht verknüpft ist, sondern mit Hilfe von "./3.php?filename=" . urlencode($_GET["aaa"] . ".txt"); kann ich den parameter $_GET["aaa"] in 3.php
InformationsquelleAutor Emery King