MySQL, Apache oder PHP-Config: Nur eine Abfrage auf einmal zulassen?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lennynero
    replied
    Originally posted by h3ll View Post
    Wenn du das am MySQL-Server deaktivieren _könntest_, würde sehr viel nicht mehr funktionieren. Also welchen Sinn soll das haben, außer dass du dir den Server kaputt machst?
    Dessen war ich mir nicht bewusst.

    Die Idee war es zu verhindern das jemand nicht befugtes in der Lage ist mehrere Queries auf einmal auszuführen, nicht mehr nicht weniger (und ja, mir ist durchaus bewusst das man mit einer einzigen Query schon Unfug genug anstellen kann). Wenn sich das auf einen Besucher hätte beschränken lassen, umso besser. Wenn es nicht (sinnvoll) geht, dann scheidet das halt aus. Mehr wollte ich im Grunde nicht wissen.

    Leave a comment:


  • h3ll
    replied
    Wenn du das am MySQL-Server deaktivieren _könntest_, würde sehr viel nicht mehr funktionieren. Also welchen Sinn soll das haben, außer dass du dir den Server kaputt machst?

    Leave a comment:


  • Lennynero
    replied
    Danke.

    Meine Frage zielte eigentlich in erster Linie auf die Konfigutarion des MySQL Servers, nicht auf PHP-Erweiterung.

    Leave a comment:


  • h3ll
    replied
    Willst du Sicherheit, dann verwende prepared Statements.

    Die veraltete mysql-Extension unterstützt gar keine Multi-Queries. Die mysqli-Extension kann dies optional über multi_query(). PDO lässt Multi-Queries immer zu. Also nett formuliert: Anfänger sollten zuerst lieber mit mysqli arbeiten. Leute mit Erfahrung können bzw. sollten zu PDO greifen.

    mysql ist als tot anzusehen.
    Last edited by h3ll; 12-12-2011, 11:25.

    Leave a comment:


  • Lennynero
    replied
    Originally posted by Lennynero View Post
    Ja, sorry, DBMS nicht erwähnt. Mea Culpa.
    Und schon wieder

    Es geht um MySQL.

    Leave a comment:


  • Lennynero
    replied
    Originally posted by ghostgambler View Post
    Deine Frage ist zu ungenau.
    Ja, sorry, DBMS nicht erwähnt. Mea Culpa.

    Originally posted by ghostgambler View Post
    Es macht aber auch eigentlich keinen Sinn innerhalb von Code mehrere Statements gleichzeitig auszuführen. Geschweige denn, dass es Sinn machen würde, mehrere Statements zu übergeben, aber dann nur das erste ausführen zu lassen.

    Anstatt das hier angesprochene Problem zu lösen, würde ich noch einen Schritt weiter zurück gehen, und dein komplettes Vorgehen noch mal überdenken.
    Es ging auch nicht darum mehrere Queries zuzulassen, sondern es zu verhindern (deswegen auch meine Frage nach der Einstellungsoption, die das Ausführen auf eine Abfrage verhindert).

    Von da aus ist es durchaus sinnvoll beim Ausführen darauf zu achten das eben nur die Erste ausgeführt wird. Das Alleine bringt natürlich keinen umfassenden Schutz (Natürlich sind Queries schon vor der Übergabe ans DBMS so zu bearbeiten, das niemand damit Unfug anfangen kann), es schadet aber auch mit Sicherheit nicht das DBMS entsprechend zu konfigurieren (denn wie ein potentieller Angreifer Zugriff auf die DB hat, weiß ich nicht, bzw. ist der da sicherlich sehr kreativ). 100% Sicherheit gibt das nicht, aber ein paar Prozentpunkte mehr.

    Ob es übrigens Sinn oder keinen Sinn macht mehrere Queries nacheinander auszuführen, würde ich auch nicht mit einem pauschalen "macht eigentlich keinen Sinn" abtun, es gibt sicherlich Situationen in denen das auch hilfreich sein kann.

    Leave a comment:


  • Kropff
    replied
    MySQLi beherrscht mehrfache Abfragen über die Methode multi_query. Vielleicht liegt es ja daran????

    Peter

    Leave a comment:


  • ghostgambler
    replied
    Deine Frage ist zu ungenau.

    Die PHP-MySQL-Extension kann von Haus aus keine multiplen Statements. Es gibt scheinbar ein Flag was das steuert (PHP: mysql_query - Manual) aber vermutlich nur in aktuellen MySQL-Versionen.
    Bzgl. PDO konnte ich spontan gar nichts finden.
    PMA hat einen eigenen Parser und splittet mehrere Queries auf.

    Es macht aber auch eigentlich keinen Sinn innerhalb von Code mehrere Statements gleichzeitig auszuführen. Geschweige denn, dass es Sinn machen würde, mehrere Statements zu übergeben, aber dann nur das erste ausführen zu lassen.

    Anstatt das hier angesprochene Problem zu lösen, würde ich noch einen Schritt weiter zurück gehen, und dein komplettes Vorgehen noch mal überdenken.

    Leave a comment:


  • MySQL, Apache oder PHP-Config: Nur eine Abfrage auf einmal zulassen?

    Hallo,

    man kann ja über PHP und anderen Tools mehrere SQL-Anweisungen durch Semikolon getrennt abfeuern, die dann nacheinander abgearbeitet werden.

    Ich habe noch dunkel in Erinnerung, das es möglich ist das Ganze so zu konfigurieren, das nur noch eine Anweisung verarbeitet wird und alles nach dem ersten Semikolon (sofern es nicht in Hochkomma steht) ignoriert wird.

    Erinnere ich mich da richtig und falls ja: wo finde ich die entsprechende Konfigrationseinstellung?

    Vielen Dank für Hilfe,
    Markus
Working...
X