Kleines Problem mit PHP
Re: Kleines Problem mit PHP
Nein. Aber sag doch gleich, dass wir include nicht nutzen dürfen. Hat ja auch diese Probleme....
Die Funktion ist da, da es nicht anders geht in C. (Ich frage mich nur warum intern nicht auf ein \0 im String geprüft wird...)
Die Funktion ist da, da es nicht anders geht in C. (Ich frage mich nur warum intern nicht auf ein \0 im String geprüft wird...)
Bogs sind meine Spezialität - Signaturen sind eigentlich doch überflüssig...
- burning eagle
- Zauberer der Bergwiesen
- Beiträge: 663
- Registriert: 12. Aug 2009, 21:17
- Wohnort: W1
- Kontaktdaten:
Re: Kleines Problem mit PHP
Wo wir grad beim Thema Sicherheit und Includes sind: Je nachdem, was für Seiten du einbindest (z.B. welche die eigentlich bestimmte Rechte erfordern, etc.) solltest du die zu includende Seite schützen, in dem du prüfst, ob sie von der Aufruf-Datei aufgerufen wird oder man sie einfach so per Browser öffnet. (z.B. per Konstante, die in der Aufruf-Datei gesetzt wird)
Um bisschen rumzutesten brauchst du das allerdings alles noch nicht und du kannst das erstmal alles in einer Datei machen.
Um bisschen rumzutesten brauchst du das allerdings alles noch nicht und du kannst das erstmal alles in einer Datei machen.

- Blue.Shark
- großer Laubbär
- Beiträge: 2864
- Registriert: 5. Okt 2008, 21:27
Re: Kleines Problem mit PHP
Also du meinst das man sie Startseite umgeht und oben direkt ?page=news eingibt und direkt zu den Neuigkeiten kommt?burning eagle hat geschrieben:Wo wir grad beim Thema Sicherheit und Includes sind: Je nachdem, was für Seiten du einbindest (z.B. welche die eigentlich bestimmte Rechte erfordern, etc.) solltest du die zu includende Seite schützen, in dem du prüfst, ob sie von der Aufruf-Datei aufgerufen wird oder man sie einfach so per Browser öffnet. (z.B. per Konstante, die in der Aufruf-Datei gesetzt wird)
Naja das wär ja nicht so schlimm. Bzw. kann man das überhaupt umgehen, wenn ja, wie?
Macht alle bei meinem Spiel mit -> Wörter raten
Meine aktuelle User-Idee: Errungenschaften auf Zeit
Meine Wunsch-Idee: Das Haus der Statistiken, Liebligskarte: Etume - das Flusstal. Andere Userideen: Zauber der globalen Wunder
Meine aktuelle User-Idee: Errungenschaften auf Zeit
Meine Wunsch-Idee: Das Haus der Statistiken, Liebligskarte: Etume - das Flusstal. Andere Userideen: Zauber der globalen Wunder
- Maverick123
- Zauberer der Bergwiesen
- Beiträge: 625
- Registriert: 27. Nov 2005, 13:46
Re: Kleines Problem mit PHP
Er meint, dass man nicht einfach news.php öffnen kann, sondern nur über index.php?page=news den Inhalt der Datei abrufen kann. Macht an gewissen Stellen Sinn.

- Blue.Shark
- großer Laubbär
- Beiträge: 2864
- Registriert: 5. Okt 2008, 21:27
Re: Kleines Problem mit PHP
Und wie verhindert man das?Maverick123 hat geschrieben:Er meint, dass man nicht einfach news.php öffnen kann, sondern nur über index.php?page=news den Inhalt der Datei abrufen kann. Macht an gewissen Stellen Sinn.
Macht alle bei meinem Spiel mit -> Wörter raten
Meine aktuelle User-Idee: Errungenschaften auf Zeit
Meine Wunsch-Idee: Das Haus der Statistiken, Liebligskarte: Etume - das Flusstal. Andere Userideen: Zauber der globalen Wunder
Meine aktuelle User-Idee: Errungenschaften auf Zeit
Meine Wunsch-Idee: Das Haus der Statistiken, Liebligskarte: Etume - das Flusstal. Andere Userideen: Zauber der globalen Wunder
- Maverick123
- Zauberer der Bergwiesen
- Beiträge: 625
- Registriert: 27. Nov 2005, 13:46
Re: Kleines Problem mit PHP
Zum Beispiel könntest du in index.php vor dem Includen eine Konstante setzen:burning eagle hat geschrieben: (z.B. per Konstante, die in der Aufruf-Datei gesetzt wird)
http://php.net/manual/de/function.constant.php
Code: Alles auswählen
define("INCLUDED", true); // der wert ist egal, du könntest es auch als "bla" oder 123 definieren, hauptsache es ist gesetzt.. man kann auch noch in der includeten datei überprüfen, ob die konstante auch den richtigen wert hat x)
http://www.php.net/manual/de/function.defined.php
Code: Alles auswählen
if (defined("INCLUDED"))
{
// inhalt
}
else
{
// fehler, da die konstante nicht gesetzt wurde und die datei nicht included ist
}
So würde ich es jedenfalls machen, keine Ahnung ob das hübsch ist, da müsstest du bwoebi fragen

Alternativ geht das ganze auch mit einer einfachen Variable, die du vorher setzt und dann in der includeten Datei überprüfst.

- Blue.Shark
- großer Laubbär
- Beiträge: 2864
- Registriert: 5. Okt 2008, 21:27
Re: Kleines Problem mit PHP
Dann kann ich ja gleich den Text den ich include an die Stelle rienkopieren^^ Ist zwar nicht übersichtlich aber was sollst.
Oder ich include news65935986559875987.php
Da kommt niemand drauf und kann daher auch nicht direkt zugreifen^^
Oder ich include news65935986559875987.php
Da kommt niemand drauf und kann daher auch nicht direkt zugreifen^^
Macht alle bei meinem Spiel mit -> Wörter raten
Meine aktuelle User-Idee: Errungenschaften auf Zeit
Meine Wunsch-Idee: Das Haus der Statistiken, Liebligskarte: Etume - das Flusstal. Andere Userideen: Zauber der globalen Wunder
Meine aktuelle User-Idee: Errungenschaften auf Zeit
Meine Wunsch-Idee: Das Haus der Statistiken, Liebligskarte: Etume - das Flusstal. Andere Userideen: Zauber der globalen Wunder
- Cembon
- Gelbbart-Yeti
- Beiträge: 1793
- Registriert: 6. Mai 2011, 19:09
- Wohnort: Am See des Friedens
- Kontaktdaten:
Re: Kleines Problem mit PHP
Das ist dann Sicherheit durch Verschleierung, richtig sicher ist es nicht, könnte ja doch jemand draufkommen.^^
- burning eagle
- Zauberer der Bergwiesen
- Beiträge: 663
- Registriert: 12. Aug 2009, 21:17
- Wohnort: W1
- Kontaktdaten:
Re: Kleines Problem mit PHP
Wie gesagt, solange du wenig Code hast, solltest du kein Problem mit Übersichtlichkeit bekommen.Blue.Shark hat geschrieben:Dann kann ich ja gleich den Text den ich include an die Stelle rienkopieren^^ Ist zwar nicht übersichtlich aber was sollst.
Oder ich include news65935986559875987.php
Da kommt niemand drauf und kann daher auch nicht direkt zugreifen^^
Wenns dann mal >100 Seiten sind, die über die index.php aufgerufen werden, wirst du irgendwann die Vorteile vom includen erkennen.

Von der Idee mit den Ziffern hinter dem Namen würde ich abraten... Brute Force ftw.
/edit: Für die saubere Lösung s. Mavericks Code.
- Blue.Shark
- großer Laubbär
- Beiträge: 2864
- Registriert: 5. Okt 2008, 21:27
Re: Kleines Problem mit PHP
Ich hab mal noch eine kleine Frage:
Folgender Beispielcode:
Die Frage bezieht sich auf das Umklammern vom normalen Html Code mit einer PHP-if schleife indem man ständig die PHP-tags öffnet bzw. schließt.
Jetzt zur Frage: Ist folgender Code erlaubt? Bzw. hat er sicherheitslücken oder ist das eigentlich ganz ok wenn man es so macht? Oder ist er unsauber? Benutzt ihr das auch oder macht ihr alles mit echo?
Folgender Beispielcode:
Code: Alles auswählen
<?php
if($name == "Otto") {
?>
Guten Tag Otto!
<?php
}
else{
?>
Du bist nicht Otto!
<?php
}
?>
Jetzt zur Frage: Ist folgender Code erlaubt? Bzw. hat er sicherheitslücken oder ist das eigentlich ganz ok wenn man es so macht? Oder ist er unsauber? Benutzt ihr das auch oder macht ihr alles mit echo?
Macht alle bei meinem Spiel mit -> Wörter raten
Meine aktuelle User-Idee: Errungenschaften auf Zeit
Meine Wunsch-Idee: Das Haus der Statistiken, Liebligskarte: Etume - das Flusstal. Andere Userideen: Zauber der globalen Wunder
Meine aktuelle User-Idee: Errungenschaften auf Zeit
Meine Wunsch-Idee: Das Haus der Statistiken, Liebligskarte: Etume - das Flusstal. Andere Userideen: Zauber der globalen Wunder
- Cembon
- Gelbbart-Yeti
- Beiträge: 1793
- Registriert: 6. Mai 2011, 19:09
- Wohnort: Am See des Friedens
- Kontaktdaten:
Re: Kleines Problem mit PHP
Sollte so funktionieren, ist aber jetzt nicht unbedingt die schönste Art und Weise.
z.B. wäre
kürzer und übersichtlicher 
z.B. wäre
Code: Alles auswählen
if($name == "Otto")
echo "Guten Tag Otto!";
else
echo "Du bist nicht Otto!";

Re: Kleines Problem mit PHP
Der Code sollte ganz problemlos sein. Für einzelne Zeilen ist es am schönsten ohne den PHP-Kontext zu verlassen. (Siehe Cembons Post)Blue.Shark hat geschrieben:[...]
Die Frage bezieht sich auf das Umklammern vom normalen Html Code mit einer PHP-if schleife indem man ständig die PHP-tags öffnet bzw. schließt.
Jetzt zur Frage: Ist folgender Code erlaubt? Bzw. hat er sicherheitslücken oder ist das eigentlich ganz ok wenn man es so macht? Oder ist er unsauber? Benutzt ihr das auch oder macht ihr alles mit echo?
Für größere Textblöcke ist die Methode den PHP-Kontext zu verlassen besser, weil übersichtlicher mMn. Dafür gibt es übrigens eine Syntax die besser dafür geeignet ist finde ich:
Code: Alles auswählen
<?php if ($name == "Otto"): ?>
Guten Tag Otto!
<?php else: ?>
Du bist nicht Otto!
<?php endif; ?>
Bogs sind meine Spezialität - Signaturen sind eigentlich doch überflüssig...
- Cembon
- Gelbbart-Yeti
- Beiträge: 1793
- Registriert: 6. Mai 2011, 19:09
- Wohnort: Am See des Friedens
- Kontaktdaten:
Re: Kleines Problem mit PHP
@bwoebi: Wenn man wie du immer "" für die String-Begrenzung nutzt, dann braucht man bei HTML ein paar Backslashes, ja 

Re: Kleines Problem mit PHP
http://www.php.net/manual/de/language.t ... ax.heredoc
Und nowdoc (mittlerweile auch in PHP)
(achja, für mehrzeilige Ausgaben sinnvoll, für Einzeiler ist print,printf, bzw echo besser lesbar)
Und nowdoc (mittlerweile auch in PHP)
(achja, für mehrzeilige Ausgaben sinnvoll, für Einzeiler ist print,printf, bzw echo besser lesbar)
mfG Rober
_________________
destruktion ist konstruktion
_________________
destruktion ist konstruktion
Re: Kleines Problem mit PHP
Auch wenn man mit single-quotes vollgespammtes Englisch schreibt...Cembon hat geschrieben:@bwoebi: Wenn man wie du immer "" für die String-Begrenzung nutzt, dann braucht man bei HTML ein paar Backslashes, ja
Bogs sind meine Spezialität - Signaturen sind eigentlich doch überflüssig...
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste