Ja, geht, man kann Funktionen aus anderen Funktionen heraus aufrufen. Sonst wäre Rekursion in PHP wohl unmöglich, denke ich
Als global muss man sie nicht definieren.
Ich habe mir ein BBcode System gebastelt was man ueber eine MySQL Datenbank erweitern kann.
Um der Sicherheit willen habe ich es so gemacht, das wenn man HTML Code ueber ein Formular eingibt wird es rausgesucht und entfernt. Was aber schlecht ist denn so kann man ja garnicht den HTML Code zum zugehoerigen BBcode eingeben.
Was kann ich machen damit die Sicherheit trotzdem weiterhin gewaehrt bleibt?
Ich habe mir ein BBcode System gebastelt was man ueber eine MySQL Datenbank erweitern kann.
Um der Sicherheit willen habe ich es so gemacht, das wenn man HTML Code ueber ein Formular eingibt wird es rausgesucht und entfernt. Was aber schlecht ist denn so kann man ja garnicht den HTML Code zum zugehoerigen BBcode eingeben.
Was kann ich machen damit die Sicherheit trotzdem weiterhin gewaehrt bleibt?
...
Du meinst, dass wenn man Codeschnipsel wie hier in einem
einfügen kann?
Dann ersetze einfach die < und > gegen die Zeichenkette < für <, und > für >.
Dann hast du sie nämlich mit den offiziellen HTML Sonderzeichen ersetzt. Sie werden dann so im HTML Dokument angezeigt.
Ein Sicherheitsloch entsteht dadurch nicht.
So, ich hab jetzt auch mal wieder eine Frage, bezüglich CSS:
Kann ich per CSS Formatierung den Broswer anweisen, Leerzeichen gar nicht auszugeben?
--
Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3 und 4 Bundesdatenschutzgesetz).
Dann ersetze einfach die < und > gegen die Zeichenkette < für <, und > für >.
Dann hast du sie nämlich mit den offiziellen HTML Sonderzeichen ersetzt. Sie werden dann so im HTML Dokument angezeigt.
...
Dann muesste ich ja den User dazu bringen was Kompliziertes in seinen Augen zu machen und das will ich nicht. Er soll den Code so eingeben koennen wie er das will.
Wenn ich jetzt den BBcode [ b ][ / b ] habe soll der User einfach <font style: bold></font> eingeben koennen ohne weitere umstaende.
Dann muesste ich ja den User dazu bringen was Kompliziertes in seinen Augen zu machen und das will ich nicht. Er soll den Code so eingeben koennen wie er das will.
...
Oh, nein, das Ersetzen übernimmt PHP:
Zitat
Wenn ich jetzt den BBcode habe soll der User einfach <font style: bold></font> eingeben koennen ohne weitere umstaende.
...
Hab ich jetzt nicht verstanden.
Wenn der User Text Fett formatieren macht er das doch mit einem: Und das kannst du dann ja einfach per PHP wieder in <b> umwandeln:
Alles klar?!^^
--
Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3 und 4 Bundesdatenschutzgesetz).
Wenn ich jetzt den BBcode habe soll der User einfach <font style: bold></font> eingeben koennen ohne weitere umstaende.
...
Und woher soll PHP wissen, was vor und was nach dem Text kommt? Spätestens bei mehreren Tags wirds unnötig kompliziert. Und das ganze unterstützt keine Attribute. Mach das lieber mit Platzhaltern, die du dann ersetzt...
Ok da liegt ein Missverstaendniss vor. bzw ich hab es mal wieder falsch erklaert.
Ich habe ein BBcode System, was man in einem Admin Panel Bearbeiten und neue BBcodes Hinzufuegen kann.
Beim Hinzufuegen gibt der User einmal den Platzhalter ein, z.b. [ b ] [ / b ] und den HTML Code <font style: bold></font>, Fertig. ;]
Das sieht schon ganz gut aus aber mir is aufgefallen das das ja auch nicht geht, waer ja auch wieder ne Sicherheitsluecke. -.-
Da entsteht doch keine Sicherheitslücke!
Der Admin muss doch tun dürfen, was er will!
Folglich kann er eigentlich auch alles ersetzten lassen, was er will!
--
Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3 und 4 Bundesdatenschutzgesetz).
Also, eine Sicherheitslücke kann nur entstehen, wenn ein Admin eine einbaut.
Du kannst ja vor Codes warnen, die mögliche Sicherheitslücken reproduzieren.
--
Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3 und 4 Bundesdatenschutzgesetz).
Also, eine Sicherheitslücke kann nur entstehen, wenn ein Admin eine einbaut.
Du kannst ja vor Codes warnen, die mögliche Sicherheitslücken reproduzieren.
...
Halte ich im Allgemeinen nicht für schlau. So nach dem Motto "Okay, da gibts Bugs wenn ihr was falsch macht, also machts gefälligst richtig!".
Wenn man schon sowas macht, sollte man es auch idiotensicher machen und nicht einfach nur davor warnen, dies oder das zu tun. - Wie gesagt, im Allgemeinen.
Ich muss dazusagen, dass ich das Problem in diesem spezifischen Fall nicht wirklich erkennen kann. Wenn deine Endnutzer schlau genug sind, entsprechende BB Codes inklusive HTML Ersetzungsmuster einzusetzen, werden sie auch wissen, was sie tun und keinen schadhaften Code einfügen (sonderlich viel anrichten könnte das ja eh nicht, außer vielleicht Script oder Object). Im Endeffekt wäre das ja Selbstsabotage, für die du nun wirklich nichts könntest; du willst deinen Nutzern ja nur Möglichkeiten bereitstellen, ihr Projekt verbessern / individualisieren zu können.
Ich halte btw ein Muster wie "[tag=$1]$2[/tag]" => "<tag xyz='$1'>$2</tag>" für am sinnvollsten, dann kann man wenigstens mit mehreren Variablen arbeiten (also nicht nur wie in diesem Falle mit zwei, sondern möglichst unbegrenzt vielen (auch, wenn es nach einer bestimmten Zahl nicht mehr sonderlich viel Sinn macht, da BB Codes die ganze Sache ja vereinfachen und nicht unnötig kompliziert machen soll(t)en)).
Was du natürlich machen könntest, wäre eine Überprüfung des Ersetzungsmusters nach Stichwörtern wie "<script [...]" und ähnlichem. Wenn was entsprechendes gefunden wurde, kannst du eine Warnung anzeigen, dass das verwendete Ersetzungsmuster unter Umständen von Userseite missbraucht werden könnte, um der Seite zu schaden. => "Wirklich fortfahren?": Ja oder Nein.
Generell unterbinden würde ich das nicht, damit raubst du dem Benutzer Freiheit über seine Seite.
Ich muss dazusagen, dass ich das Problem in diesem spezifischen Fall nicht wirklich erkennen kann. Wenn deine Endnutzer schlau genug sind, entsprechende BB Codes inklusive HTML Ersetzungsmuster einzusetzen, werden sie auch wissen, was sie tun und keinen schadhaften Code einfügen (sonderlich viel anrichten könnte das ja eh nicht, außer vielleicht Script oder Object). Im Endeffekt wäre das ja Selbstsabotage, für die du nun wirklich nichts könntest; du willst deinen Nutzern ja nur Möglichkeiten bereitstellen, ihr Projekt verbessern / individualisieren zu können.
...
Ich sag mal so, ich nehme deinen Rat an. ;]
Zitat von NPC Fighter
Was du natürlich machen könntest, wäre eine Überprüfung des Ersetzungsmusters nach Stichwörtern wie "<script [...]" und ähnlichem. Wenn was entsprechendes gefunden wurde, kannst du eine Warnung anzeigen, dass das verwendete Ersetzungsmuster unter Umständen von Userseite missbraucht werden könnte, um der Seite zu schaden. => "Wirklich fortfahren?": Ja oder Nein.
Generell unterbinden würde ich das nicht, damit raubst du dem Benutzer Freiheit über seine Seite.
...
Das muss nicht sein, waere zuviel Arbeit fuer nuescht und wieder nuescht!
Betroffener CSS-Code:
Betroffener HTML-Code:
Ich würde jetzt gerne eine kleine Grafik, die den Balken mit einem Schatten abrunden, als Hintergrund in (bspw. einem DIV) anzeigen lassen. Ich krieg aber leider kein Element so hin, das es in der gleichen Zeile angezeigt wird.
Ich weiß jetzt nicht mehr weiter, was für CSS Elemente muss ich setzen, das der Container rechts neben der Navi angezeigt wird?
--
Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3 und 4 Bundesdatenschutzgesetz).
Schon mal
versucht? Damit positionierst du ein Hintergrundbild an der rechten unteren Ecke. Je nach aussehen deines Codes musst du ein weiteres Element dafür erstellen. Meistens reicht aber auch der letzt Punkt in einer Liste.
Nebenbei: Horizontale Navigationsleisten kann man auch mit Listen und CSS machen.
Mhmm, ich hatte das Problem warscheinlich nicht korrekt erklärt, ist aber egal, ich hab's anders gelößt.
Jetzt hab ich allerding viel massivere Probleme:
Ich benötige ein 3-spaltiges CSS Layout, dessen 3 Boxen sich bei niedriger Auflösung per Prozentwerte auch alle proportional verkleinern.
Ich hab mich mit einem Tut rumgeschlagen, aber leider passts immer net so richtig, und beim IE 5.5 wird die rechte Box garnet angezeigt. Wie krieg ich das einigermaßen hin??
Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- und Meinungsforschung (§ 28 Absatz 3 und 4 Bundesdatenschutzgesetz).