Antworten
Code: In Zwischenablage kopieren (nur IE)
*** Nobody ***
2.
könntest du das vielleicht näher erklären....wie ist der restliche code?
ich bin noch auf neuland....
3.
Wenn Du näher erklärst, wie Du das meinst, kann ich vielleicht näher erklären, wie das geht. Deine Frage ist nicht besonders verständlich.
*** Nobody ***
4.
also den code für die links hab ich, aber wie sind dann die codes für die texte also was muss ich schreiben, was die id..... aufruft???
5.
Also Nobody meint glaub ich in etwa folgendes
Deine Links lauten wie schon gesagt
Code: In Zwischenablage kopieren (nur IE)
in der "mittleren Spalte musst du nun diese Variable id definieren:
Code: In Zwischenablage kopieren (nur IE)
so erstelle nun deine entsprechenden Text files mit beliebigem Editor
entsprechend Beispiel
./1.txt
./2.txt
./3.txt
./4.txt
6.
Was, um alles in der Welt, für Texte? Ich hoffe doch, Du meinst nicht eine lange Liste an Variablen, denen ein Text zugewiesen wird und den Du dann ausgeben willst.
@foggy
Deine if-Abfrage ist falsch, denn include liefert keinen Wert und kann somit nicht abgefragt werden.
*** Nobody ***
7.
wüsste nicht was da falsch ist
Nein keine Variablen.
Nur stinknormale Textfiles er will ja nur Text verändern
8.
nimmt er dann den inhalt des txt.-files als wäre er in dem document?
9.
Zitat:
schwerminator postete
nimmt er dann den inhalt des txt.-files als wäre er in dem document?
Das könnte man ja einfach mal ausprobieren, oder?
*** Nobody ***
10.
wer weiss
11.
Zitat:
Foggy postete
wüsste nicht was da falsch ist
Nobody hat Dir doch geschrieben, was falsch ist: include ist eine Anweisung und liefert als solche keinen Rückgabewert. Außerdem ist Dein Skript extrem unsicher. Überleg mal, was passiert, wenn ich das Skript mit ?id=../../etc/passwd aufrufe....
12.
Code: In Zwischenablage kopieren (nur IE)
@Nobody erklär mir bitte was ich da falsch verstehe ich bin noch PHP anfänger und für jede hilfe dankbar
und ich weiss das es bestimmt noch elegantere lösungen gibt aber falsch ist mein beispiel doch nicht oder?
bei mir funktioniert es jedenfalls?!?
ok ok sorry habs verstanden weiss nicht wieso ich da if hingemacht habe aber wie gesagt bin (leider) noch anfänger
edit:
meint ihr etwa so
Code: In Zwischenablage kopieren (nur IE)
13.
Beispiel:
Code: In Zwischenablage kopieren (nur IE)
is_numeric ist eine Funktion, die einen Wert zurückliefert, den man auch speichern könnte:
Code: In Zwischenablage kopieren (nur IE)
include ist eine Anweisung, die keinen Wert zurückliefert und daher auch nicht abgefragt bzw gespeichert werden kann.
*** Nobody ***
14.
ist der code von foggy denn jetzt richtig??
15.
Code: In Zwischenablage kopieren (nur IE)
*** Nobody ***
16.
jede id hier in dieser Datei zu definieren ist aber relativ umständlich nicht?
vielleicht nicht bei 4 Dateien aber bei grossen Projekten?
@oimel
Zitat:
Außerdem ist Dein Skript extrem unsicher. Überleg mal, was passiert, wenn ich das Skript mit ?id=../../etc/passwd aufrufe....
beschränke ich die Pfade nicht mit ./ in meinem include??
Ausserdem werden nur .txt Dateien includiert
?id=../../etc/httpd/httpd.conf
gibt httpd.conf.txt also eine fehlermeldung
@schwerminator
ja der code ist jetzt fehlerfrei tut mir echt leid
Code: In Zwischenablage kopieren (nur IE)
17.
Nein, ./ limitiert garnichts. ./../../irgendwas.txt ist ein gültiger Pfadausdruck.
18.
dann schreib ichs halt so dann hab ich garantiert nur meine benötigten files
Code: In Zwischenablage kopieren (nur IE)
Zitat:
Nein, ./ limitiert garnichts.
stimmt so nicht ganz immerhin werden keine http:// Pfade angenommen.
19.
[quote]
Foggy postetedann schreib ichs halt so dann hab ich garantiert nur meine benötigten files
Code: In Zwischenablage kopieren (nur IE)
[/quote] Das ist immernoch nicht besser. Auch damit kann man immernoch alle Dateien des Rechners mit der entsprechenden Dateiendnung auslesen.
Zitat:
stimmt so nicht ganz immerhin werden keine http:// Pfade angenommen.
Ein schwacher Trost. Nochmal: Für ein sicheres Programm ist es unbedingt zwingend notwendig, dass Eingaben aus externer Quelle (in diesem Falle $id) zuverlässig auf ihre Gültigkeit geprüft werden. In diesem Beispiel bedeutet Gültigkeit: $id muss eine Zahl zwischen 1 und 5 sein. Dies ließe sich z.B. so zuverlässig erzwingen:
Code: In Zwischenablage kopieren (nur IE)
20.
Zitat:
Das ist immernoch nicht besser. Auch damit kann man immernoch alle Dateien des Rechners mit der entsprechenden Dateiendnung auslesen.
wieviele Dateien mit der Endung ".ich_bin_die_auszulesende_Dateiendung" hast du denn auf deinem Rechner?
21.
Ich könnte ja zufällig die gleiche Endung in anderen Projekten verwenden. Aber man kann natürlich immer ein Beispiel konstruieren, in dem man die Sicherheitslücke über blödsinnige Hacks stopft, und nichts anderes ist Deine Lösung mit der ellenlangen Dateierweiterung.
22.
ok du hast ja recht ich geb mich geschlagen.
Trotzdem finde ich es nur relativ unsicher (wenn man bedenkt das nur textfiles ausgelesen werden) aber lassen wir das.
Gibt es denn eine Möglichkeit mit einer funktion zu prüfen das eine gewisse verzeichnissstruktur nicht unterschritten wird?