php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 25-07-2011, 14:40
Lennynero
 Registrierter Benutzer
Links : Onlinestatus : Lennynero ist offline
Registriert seit: Sep 2007
Beiträge: 121
Blog-Einträge: 1
Lennynero ist zur Zeit noch ein unbeschriebenes Blatt
Standard 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
Mit Zitat antworten
  #2 (permalink)  
Alt 09-12-2011, 21:01
ghostgambler
 Master
Links : Onlinestatus : ghostgambler ist offline
Registriert seit: Jul 2004
Ort: DE - NRW
Beiträge: 4.620
ghostgambler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

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.
Mit Zitat antworten
  #3 (permalink)  
Alt 09-12-2011, 21:21
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

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

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #4 (permalink)  
Alt 12-12-2011, 11:23
Lennynero
 Registrierter Benutzer
Links : Onlinestatus : Lennynero ist offline
Registriert seit: Sep 2007
Beiträge: 121
Blog-Einträge: 1
Lennynero ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von ghostgambler Beitrag anzeigen
Deine Frage ist zu ungenau.
Ja, sorry, DBMS nicht erwähnt. Mea Culpa.

Zitat:
Zitat von ghostgambler Beitrag anzeigen
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.
Mit Zitat antworten
  #5 (permalink)  
Alt 12-12-2011, 11:25
Lennynero
 Registrierter Benutzer
Links : Onlinestatus : Lennynero ist offline
Registriert seit: Sep 2007
Beiträge: 121
Blog-Einträge: 1
Lennynero ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Lennynero Beitrag anzeigen
Ja, sorry, DBMS nicht erwähnt. Mea Culpa.
Und schon wieder

Es geht um MySQL.
Mit Zitat antworten
  #6 (permalink)  
Alt 12-12-2011, 12:18
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

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.

Geändert von h3ll (12-12-2011 um 12:25 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 12-12-2011, 12:30
Lennynero
 Registrierter Benutzer
Links : Onlinestatus : Lennynero ist offline
Registriert seit: Sep 2007
Beiträge: 121
Blog-Einträge: 1
Lennynero ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke.

Meine Frage zielte eigentlich in erster Linie auf die Konfigutarion des MySQL Servers, nicht auf PHP-Erweiterung.
Mit Zitat antworten
  #8 (permalink)  
Alt 12-12-2011, 12:58
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.578
h3ll befindet sich auf einem aufstrebenden Ast
Standard

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?
Mit Zitat antworten
  #9 (permalink)  
Alt 12-12-2011, 13:06
Lennynero
 Registrierter Benutzer
Links : Onlinestatus : Lennynero ist offline
Registriert seit: Sep 2007
Beiträge: 121
Blog-Einträge: 1
Lennynero ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von h3ll Beitrag anzeigen
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.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
abfrage ob variable eine zahl ist oder nicht tmaniacr PHP Developer Forum 4 17-10-2006 15:21
Optimale Apache Config MacFan Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 1 14-10-2006 14:09
PHP/MySQL + ASP/Access = APACHE oder IIS oder ...??? Krysis Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 0 30-01-2004 14:18
Apache Config: Link ohne / yezariel Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 1 29-01-2004 20:23
Beim parsen von UBB nur eine Domain zulassen MoRtAlAn PHP Developer Forum 1 09-09-2002 10:02

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:05 Uhr.