_SERVER-Variable in MySQL-Datenbank speichern
Hallo!
Ich bohre gerade eine fremde Forum-Software um eine neue
Administrationsfunktion auf, will dabei aber natürlich keine
Sicherheitslöcher aufreißen.
Die Funktion soll eine Liste aller Gäste mit IP-Adresse, dem
dazugehörigen Hostnamen und den verwendeten "Browser" ausspucken.
Dazu muß ich auch eine bestehende Funktion erweitern.
Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
Ist vielleicht 'ne simple Frage, aber ich habe schon ein paar Monate nix
mehr mit PHP gemacht. ;-)
Und wie war doch gleich die "Abkürzung" (mit `?' und `:') für:
if (!empty(s))
{
echo s;
}
else
{
echo "&nsbp;";
}
Oder verwechsle ich da was?
--
Robert Riebisch
Bitte NUR in der Newsgroup antworten!
Please reply to the Newsgroup ONLY!
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch schrieb:
>Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
>einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
Der User-Agent-String wird von selbigem übermittelt, untersteht also völlig
der Kontrolle des Nutzers.
>Ist vielleicht 'ne simple Frage, aber ich habe schon ein paar Monate nix
>mehr mit PHP gemacht. ;-)
Hat ja auch nix mit PHP zu tun.
>Und wie war doch gleich die "Abkürzung" (mit `?' und `:') für:
>
>if (!empty(s))
> {
> echo s;
> }
>else
> {
> echo "&nsbp;";
> }
echo !empty(s) ? s : ' ';
[Ich hab mal deine Quotes und den Tippfehler korrigiert :-)]
--
Wolfgang Fellger
Re: _SERVER-Variable in MySQL-Datenbank speichern
On 20 Jul., 15:02, Robert Riebisch <Robert.Riebi... [at] arcor.de> wrote:
> Hallo!
>
[=2E..]
>
> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
>
da kein user eine eingabe macht und so "schadcode" ausführen könnte
ist das Insert eigentlich harmlos kannst ja immernoch ein
htmlspecialchars o.ä. darumbauen, muss aber nich.
> Ist vielleicht 'ne simple Frage, aber ich habe schon ein paar Monate nix
> mehr mit PHP gemacht. ;-)
>
> Und wie war doch gleich die "Abkürzung" (mit `?' und `:') für:
>
> if (!empty(s))
> {
> echo s;
> }
> else
> {
> echo "&nsbp;";
> }
>
> Oder verwechsle ich da was?
>
hhmm (;
bedingung ? wahr : falsch
echo $var ? "$var" : ' ';
was du mit dem 's' willst weiß ich nich es würde ja auch keinen sinn
machen auf nich empty zu prüfen.
> --
> Robert Riebisch
> Bitte NUR in der Newsgroup antworten!
> Please reply to the Newsgroup ONLY!
MfG
---
excuse my shiftophobia
Re: _SERVER-Variable in MySQL-Datenbank speichern
Wolfgang Fellger wrote:
> Der User-Agent-String wird von selbigem übermittelt, untersteht also völlig
> der Kontrolle des Nutzers.
Eben, daher ja auch meine Zweifel zur Unbedenklichkeit und daher die Frage.
Was sollte ich vor der Speicherung also damit anstellen?
htmlspecialchars? stripslashes? Was ganz anderes?
> Hat ja auch nix mit PHP zu tun.
Doch. Hätte ja sein können, daß PHP die _SERVER-Variablen bereits
"vorbehandelt". ;-)
> echo !empty(s) ? s : ' ';
Genau das war's. :-) Gibt's dafür 'ne Bezeichnung, damit ich's später
z.B. per Google wiederfinde, wenn ich's doch vergessen haben sollte?
> [Ich hab mal deine Quotes und den Tippfehler korrigiert :-)]
Danke! ;-)
--
Robert Riebisch
Bitte NUR in der Newsgroup antworten!
Please reply to the Newsgroup ONLY!
Re: _SERVER-Variable in MySQL-Datenbank speichern
On 20 Jul., 15:26, Robert Riebisch <Robert.Riebi... [at] arcor.de> wrote:
> Wolfgang Fellger wrote:
> > Der User-Agent-String wird von selbigem übermittelt, untersteht also =
völlig
> > der Kontrolle des Nutzers.
>
> Eben, daher ja auch meine Zweifel zur Unbedenklichkeit und daher die Frag=
e=2E
>
> Was sollte ich vor der Speicherung also damit anstellen?
> htmlspecialchars? stripslashes? Was ganz anderes?
>
> > Hat ja auch nix mit PHP zu tun.
>
> Doch. Hätte ja sein können, daß PHP die _SERVER-Variablen bereits
> "vorbehandelt". ;-)
>
> > echo !empty(s) ? s : ' ';
>
> Genau das war's. :-) Gibt's dafür 'ne Bezeichnung, damit ich's später
> z.B. per Google wiederfinde, wenn ich's doch vergessen haben sollte?
>
> > [Ich hab mal deine Quotes und den Tippfehler korrigiert :-)]
>
> Danke! ;-)
>
> --
> Robert Riebisch
> Bitte NUR in der Newsgroup antworten!
> Please reply to the Newsgroup ONLY!
trinärer operator oder so
Re: _SERVER-Variable in MySQL-Datenbank speichern
Bert Schulze wrote:
> trinärer operator oder so
Ja, damit findet sich bei Google was. Danke!
--
Robert Riebisch
Bitte NUR in der Newsgroup antworten!
Please reply to the Newsgroup ONLY!
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch schrieb:
> Wolfgang Fellger wrote:
>
>> Der User-Agent-String wird von selbigem übermittelt, untersteht also völlig
>> der Kontrolle des Nutzers.
>
> Eben, daher ja auch meine Zweifel zur Unbedenklichkeit und daher die Frage.
>
> Was sollte ich vor der Speicherung also damit anstellen?
1. Entweder Prepared STatement verwenden
2. mysql_real_escape_string oder ähnliches verwenden
Gruß,
Torsten
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch schrieb:
>Was sollte ich vor der Speicherung also damit anstellen?
>htmlspecialchars? stripslashes? Was ganz anderes?
htmlspecialchars ist für die Ausgabe von beliebigem Text in HTML-Dokumenten.
Das brauchst du i.d.R. erst auf dem Rückweg von der Datenbank.
stripslashes ist die Umkehrfunktion von addslashes. Letztere tut prinzipiell
das Gewünschte, ist aber zu allgemein um alle Sonderfälle abzudecken. Daher
für eine MySQL-Datenbank bitte die spezielle Funktion
mysql_real_escape_string verwenden.
Oder gleich Prepared Statements, so möglich (ich fürchte aber in dieser
Umgebung eher nicht)
>Doch. Hätte ja sein können, daß PHP die _SERVER-Variablen bereits
>"vorbehandelt". ;-)
Es gibt tatsächlich die Einstellung "Magic Quotes"
<http://php.net/manual/en/security.magicquotes.php>, aber erstens wirkt das
nicht auf die Inhalte von _SERVER, zweitens wird nur die "allgemeine"
Funktion addslashes verwendet, und drittens ist das nur eine Krücke für
unfähige Programmierer :-)
--
Wolfgang Fellger
Re: _SERVER-Variable in MySQL-Datenbank speichern
Bert Schulze wrote:
>> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
>> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
>
> da kein user eine eingabe macht und so "schadcode" ausführen könnte
> ist das Insert eigentlich harmlos
und wenn sie nicht gestorben sind...
Du meinst als es wär nicht möglich eine Variable zu modifizieren die
ausschließlich vom Client kommt? "Ich weis zwar nix genaues aber ich
kann Dir sagen was unnötig ist..." Traurig.
MfG, Ulf
Re: _SERVER-Variable in MySQL-Datenbank speichern
Bert Schulze schrieb:
>da kein user eine eingabe macht und so "schadcode" ausführen könnte
>ist das Insert eigentlich harmlos
Falsch.
Was genau soll mich daran hindern als User-Agent
'); DROP DATABASE --
zu verwenden?
--
Wolfgang Fellger
Re: _SERVER-Variable in MySQL-Datenbank speichern
Wolfgang Fellger wrote:
> Was genau soll mich daran hindern als User-Agent
> '); DROP DATABASE --
> zu verwenden?
Ach, solche Tools wie BurpSuite oder Achilles sind doch sowieso unfähig,
da *kann* doch gar nix schiefgehn, und per Telnet HTTP zu sprechen
können eh nur nerds und die sind doch immer lieb. :)
Michael
--
Testscript für RegEchsen:
http://diesundas.funzt-halt.net/regextest.php
Re: _SERVER-Variable in MySQL-Datenbank speichern
Wolfgang Fellger schrieb:
> Bert Schulze schrieb:
>
>>da kein user eine eingabe macht und so "schadcode" ausführen könnte=
>>ist das Insert eigentlich harmlos
>
> Falsch.
>
> Was genau soll mich daran hindern als User-Agent
> '); DROP DATABASE --
> zu verwenden?
Nichts; was sollte dann passieren?
MfG
Niels
--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch schrieb:
> Wolfgang Fellger wrote:
>> echo !empty(s) ? s : ' ';
echo !empty($s) ? $s : ' ';
> Genau das war's. :-) Gibt's dafür 'ne Bezeichnung, damit ich's spät=
er
> z.B. per Google wiederfinde, wenn ich's doch vergessen haben sollte?
Das ist der *ternäre* Operator.
MfG
Niels
--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: _SERVER-Variable in MySQL-Datenbank speichern
Niels Braczek schrieb:
>was sollte dann passieren?
Nichts natürlich.
--
Wolfgang Fellger
Re: _SERVER-Variable in MySQL-Datenbank speichern
Wolfgang Fellger <wfnews [at] web.de> wrote:
> Bert Schulze schrieb:
>
>>da kein user eine eingabe macht und so "schadcode" ausführen könnte
>>ist das Insert eigentlich harmlos
>
> Falsch.
>
> Was genau soll mich daran hindern als User-Agent
> '); DROP DATABASE --
> zu verwenden?
Ah! Ich wollte gerade '); DELETE * FROM mysql.user;' vorschlagen.
Aber das ist natürlich auch nicht schlecht.
Mal den Eintrag in den Useragent-Switcher machen,
OBW
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch schrieb:
> Bert Schulze wrote:
>
>> trinärer operator oder so
>
> Ja, damit findet sich bei Google was. Danke!
>
Ich würde die Pfoten von solchen Verkürzungen lassen. Was bringen die,
ausser das man ein paar Zeilen spart und es später schwerer hat, den
Code zu warten?
--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch wrote:
> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
Nicht, wenn Du den Wert nach einer bestimmte Länge abschneidest. ->substr()
Ansonsten dürfte das Problem eher darin liegen, daß __SQL sich weigert die
Daten zu speichern
Gruß,
Oliver
Re: _SERVER-Variable in MySQL-Datenbank speichern
..oO(Hadanite Marasek)
>Robert Riebisch schrieb:
>> Bert Schulze wrote:
>>
>>> trinärer operator oder so
>>
>> Ja, damit findet sich bei Google was. Danke!
>
>Ich würde die Pfoten von solchen Verkürzungen lassen. Was bringen die,
>ausser das man ein paar Zeilen spart und es später schwerer hat, den
>Code zu warten?
Wirklich schwerer wartbar wird es erst bei verschachtelten ternären
Operatoren. Ansonsten habe ich da keine Probleme mit, zumal sich auch
durch Verkürzungen durchaus eine bessere Lesbarkeit des Codes ergeben
kann. Ich benutze ?: z.B. häufig bei komplexen sprintf()-Anweisungen.
Müßte ich da jedesmal pro zu prüfender Variable erst einen vollen
if-else-Block samt Speicherung des Ergebnisses voranstellen - der Code
würde bisweilen übelst aufgeblasen. Da ziehe ich die Kompaktheit und
"Inline-Fallunterscheidungen" per ternärem Operator vor.
Micha
Re: _SERVER-Variable in MySQL-Datenbank speichern
Hadanite Marasek schrieb:
>Ich würde die Pfoten von solchen Verkürzungen lassen. Was bringen die,
>ausser das man ein paar Zeilen spart und es später schwerer hat, den
>Code zu warten?
Ich finde ehrlich gesagt
$bar = empty($foo) ? FOO_DEFAULT : $foo;
besser lesbar und übersichtlicher als:
if(empty($foo))
{
$bar = FOO_DEFAULT;
}
else
{
$bar = $foo;
}
Das gilt besonders wenn mehrere davon untereinander stehen.
Man sollte das natürlich auf einige klar umrissene Fälle begrenzen, und das
Statement in ein if umwandeln, sobald es komplexer wird.
--
Wolfgang Fellger
Re: _SERVER-Variable in MySQL-Datenbank speichern
Hadanite Marasek schrieb:
> Ich würde die Pfoten von solchen Verkürzungen lassen. Was bringen d=
ie,
> ausser das man ein paar Zeilen spart und es später schwerer hat, den
> Code zu warten?
Der ternäre Operator bringt von Haus aus die Beschränkung mit, dass i=
n
jedem Zweig *1* Ausdruck stehen kann. Damit ist dieser Operator das
Mittel der Wahl bei bedingten Zuweisungen; die Les- und Wartbarkeit wird
dann erheblich verbessert.
MfG
Niels
--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch schrieb:
> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT'=
]
> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
Wenn du den String wie *alle* Strings vor dem Transfer mit
mysql_(real_)escape_string() behandelst, spricht rein gar nichts dagegen.=
MfG
Niels
--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: _SERVER-Variable in MySQL-Datenbank speichern
Oliver Block schrieb:
> Robert Riebisch wrote:
>
>> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
>> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
>
> Nicht, wenn Du den Wert nach einer bestimmte Länge abschneidest. ->substr()
> Ansonsten dürfte das Problem eher darin liegen, daß __SQL sich weigert die
> Daten zu speichern
MySQL hat die dumme Angewohnheit den String dann einfach zu kuerzen so
nach dem Motto "Was nicht passt wird passend gemacht" :)
Gruss
Joerg
--
TakeNet GmbH, Geschaeftsfuehrer Wolfgang Meier
97080 Wuerzburg Tel: +49 931 903-2243
Alfred-Nobel-Straße 20 Fax: +49 931 903-3025
HRB Wuerzburg 6940 http://www.takenet.de
Re: _SERVER-Variable in MySQL-Datenbank speichern
Wolfgang Fellger schrieb:
> Hadanite Marasek schrieb:
>
>> Ich würde die Pfoten von solchen Verkürzungen lassen. Was bringen die,
>> ausser das man ein paar Zeilen spart und es später schwerer hat, den
>> Code zu warten?
>
> Ich finde ehrlich gesagt
> $bar = empty($foo) ? FOO_DEFAULT : $foo;
>
> besser lesbar und übersichtlicher als:
>
> if(empty($foo))
> {
> $bar = FOO_DEFAULT;
> }
> else
> {
> $bar = $foo;
> }
Wenn man die Klammern natürlich entsprechend setzt...persönlich würde
ich diesen Fall wie folgt erschlagen:
$bar = FOO_DEFAULT;
if(!empty($foo)) {
$bar = $foo;
}
Lässt sich einfach besser erweitern, sowohl im Statement als auch in der
Nutzlast. empty vermeide ich ohnehin nach Kräften, da auch 0 als empty
gesehen wird.
--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Re: _SERVER-Variable in MySQL-Datenbank speichern
Bert Schulze schrieb:
> On 20 Jul., 15:02, Robert Riebisch <Robert.Riebi... [at] arcor.de> wrote:
>> Hallo!
>>
> [...]
>> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
>> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
>>
>
> da kein user eine eingabe macht und so "schadcode" ausführen könnte
> ist das Insert eigentlich harmlos kannst ja immernoch ein
> htmlspecialchars o.ä. darumbauen, muss aber nich.
*LOL* about:onfig my firefox und sofort kannst du hier beliebiges unter
general.useragent.override
eintragen was du willst. in etwa so einfach als würdest du die seite mit
parameter im adressfeld aufrufen
>
>> Ist vielleicht 'ne simple Frage, aber ich habe schon ein paar Monate nix
>> mehr mit PHP gemacht. ;-)
>>
>> Und wie war doch gleich die "Abkürzung" (mit `?' und `:') für:
>>
>> if (!empty(s))
>> {
>> echo s;
>> }
>> else
>> {
>> echo "&nsbp;";
>> }
>>
>> Oder verwechsle ich da was?
>>
> hhmm (;
> bedingung ? wahr : falsch
> echo $var ? "$var" : ' ';
>
> was du mit dem 's' willst weiß ich nich es würde ja auch keinen sinn
> machen auf nich empty zu prüfen.
>
>> --
>> Robert Riebisch
>> Bitte NUR in der Newsgroup antworten!
>> Please reply to the Newsgroup ONLY!
>
> MfG
>
> ---
> excuse my shiftophobia
>
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch schrieb:
> Hallo!
>
> Ich bohre gerade eine fremde Forum-Software um eine neue
> Administrationsfunktion auf, will dabei aber natürlich keine
> Sicherheitslöcher aufreißen.
>
> Die Funktion soll eine Liste aller Gäste mit IP-Adresse, dem
> dazugehörigen Hostnamen und den verwendeten "Browser" ausspucken.
>
> Dazu muß ich auch eine bestehende Funktion erweitern.
>
> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
Mir graust es bei dem Gedanken, dass jemand überhaupt nach sowas fragt.
In jedem Einsteiger PHP Buch läuft einem die Funktion
mysql_real_escape_string über den Weg.
Kein Wunder, dass Forensoftware PHP so einen schlechten Ruf beschert:-)
>
> Ist vielleicht 'ne simple Frage, aber ich habe schon ein paar Monate nix
> mehr mit PHP gemacht. ;-)
>
Selbst nach nem Jahr sollte man noch in der Lage sein zu Wissen, dass
eine Variable mit $ gekennzeichnet ist-> $s
> Und wie war doch gleich die "Abkürzung" (mit `?' und `:') für:
>
> if (!empty(s))
> {
> echo s;
> }
> else
> {
> echo "&nsbp;";
> }
>
> Oder verwechsle ich da was?
sowas?
echo isset($s) ? "Hans" : "Gans";
>
Re: _SERVER-Variable in MySQL-Datenbank speichern
Hadanite Marasek schrieb:
> Robert Riebisch schrieb:
>
>> Bert Schulze wrote:
>>
>>> trinärer operator oder so
triadisch oder ternär.
>> Ja, damit findet sich bei Google was. Danke!
>
> Ich würde die Pfoten von solchen Verkürzungen lassen.
Welche "Verkürzungen"?
Gruß. Claus
Re: _SERVER-Variable in MySQL-Datenbank speichern
> triadisch oder ternär.
Antwort auf das Posting des anderen...
> Welche "Verkürzungen"?
If/else in eine Zeile zu packen. Ich sehe den Nutzen dahinter nicht - es
wird nur schwerer lesbar und ich muss das Ding ohnehin wieder
aufbrechen, sollte ich entweder eine komplexere Bedingung oder eine
komplexere Ausführung benötigen.
--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Re: _SERVER-Variable in MySQL-Datenbank speichern
Hadanite Marasek schrieb:
>> triadisch oder ternär.
>
> Antwort auf das Posting des anderen...
>> Welche "Verkürzungen"?
>
> If/else in eine Zeile zu packen. Ich sehe den Nutzen dahinter nicht - e=
s
> wird nur schwerer lesbar und ich muss das Ding ohnehin wieder
> aufbrechen, sollte ich entweder eine komplexere Bedingung oder eine
> komplexere Ausführung benötigen.
Der ternäre Operator hat nur auf den ersten Blick =C4hnlichkeit mit
if/else. Während letztere Struktur alternative Anweisungsblöcke
ausführt, berechnet erstere alternative Ausdrücke. Das ist eine völ=
lig
andere Baustelle.
MfG
Niels
--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: _SERVER-Variable in MySQL-Datenbank speichern
> Der ternäre Operator hat nur auf den ersten Blick Ähnlichkeit mit
> if/else. Während letztere Struktur alternative Anweisungsblöcke
> ausführt, berechnet erstere alternative Ausdrücke. Das ist eine völlig
> andere Baustelle.
Das ist nicht relevant für meine Fragestellung. Relevant ist, dass der
ternäre Operator als Verkürzung des if-else-Blocks dienen kann, und ich
von dieser Verwendung abrate.
--
Mein Zeugs:
http://www.hadanite-marasek.de/classes.php
http://www.objektivsuche.de/
Re: _SERVER-Variable in MySQL-Datenbank speichern
Hadanite Marasek schrieb:
> Das ist nicht relevant für meine Fragestellung. Relevant ist, dass der
> ternäre Operator als Verkürzung des if-else-Blocks dienen kann, und ich
> von dieser Verwendung abrate.
So hast Du das gemeint. Dann hast Du natürlich Recht.
Aber so verwende ich diesen Operator nicht. Für mich ist das ein
eigenständiges Konstrukt und keine Abkürzung für if/else.
Gruß. Claus
Re: _SERVER-Variable in MySQL-Datenbank speichern
Hadanite Marasek schrieb:
Lasse bitte die Einleitungszeile stehen.
>> Der ternäre Operator hat nur auf den ersten Blick =C4hnlichkeit mit
>> if/else. Während letztere Struktur alternative Anweisungsblöcke
>> ausführt, berechnet erstere alternative Ausdrücke. Das ist eine vö=
llig
>> andere Baustelle.
>
> Das ist nicht relevant für meine Fragestellung. Relevant ist, dass de=
r
> ternäre Operator als Verkürzung des if-else-Blocks dienen kann, und=
ich
> von dieser Verwendung abrate.
Der ternäre Operator kann *nicht* als Verkürzung einer if/else-Strukt=
ur
dienen; allerdings kann man den ternären Operator mittels if/else
emulieren. Aber warum sollte man das wollen? Das bläht den Code unnöt=
ig auf.
Verwendest du auch kein switch, weil sich das mit if/else nachbauen läs=
st?
MfG
Niels
--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: _SERVER-Variable in MySQL-Datenbank speichern
Niels Braczek schrieb:
> Verwendest du auch kein switch, weil sich das mit if/else nachbauen lässt?
Tipp: Schleifen kann man statt mit for, while oder do/while auch mit
if/goto bauen ;-)
Oder wie einer meiner ehemaligen Chefs einmal so schön treffend
formulierte: Man kann in jeder Programmiersprache FORTRAN-Programme
schreiben :-)
SCNR. Claus
Re: _SERVER-Variable in MySQL-Datenbank speichern
Claus Reibenstein schrieb:
> Niels Braczek schrieb:
>
>> Verwendest du auch kein switch, weil sich das mit if/else nachbauen lä=
sst?
>
> Tipp: Schleifen kann man statt mit for, while oder do/while auch mit
> if/goto bauen ;-)
Zum Glück haben wir ja in PHP kein goto.
> Oder wie einer meiner ehemaligen Chefs einmal so schön treffend
> formulierte: Man kann in jeder Programmiersprache FORTRAN-Programme
> schreiben :-)
Wie hieß es doch früher? "Real programmers don't use Pascal. They do
everything in FORTRAN."
MfG
Niels
--
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------
Re: _SERVER-Variable in MySQL-Datenbank speichern
Stefan Braumeister wrote:
>> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
>> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
>
> Mir graust es bei dem Gedanken, dass jemand überhaupt nach sowas fragt.
Mir graust eher davor, daß jemand *nicht* danach fragt und es einfach so
verwendet. :-p
> In jedem Einsteiger PHP Buch läuft einem die Funktion
> mysql_real_escape_string über den Weg.
Hab' aber kein PHP-Buch. :-p
> Kein Wunder, dass Forensoftware PHP so einen schlechten Ruf beschert:-)
Da könnte was dran sein.
> Selbst nach nem Jahr sollte man noch in der Lage sein zu Wissen, dass
> eine Variable mit $ gekennzeichnet ist-> $s
'tschuldige!
--
Robert Riebisch
Bitte NUR in der Newsgroup antworten!
Please reply to the Newsgroup ONLY!
Re: _SERVER-Variable in MySQL-Datenbank speichern
Robert Riebisch schrieb:
> Stefan Braumeister wrote:
>
>>> Ist es nun bedenklich, wenn ich den Wert von $_SERVER['HTTP_USER_AGENT']
>>> einfach per "INSERT INTO" in die Tabelle der Besucher einfüge?
>> Mir graust es bei dem Gedanken, dass jemand überhaupt nach sowas fragt.
>
> Mir graust eher davor, daß jemand *nicht* danach fragt und es einfach so
> verwendet. :-p
>
>> In jedem Einsteiger PHP Buch läuft einem die Funktion
>> mysql_real_escape_string über den Weg.
>
> Hab' aber kein PHP-Buch. :-p
Hätte ich jetzt fast nicht gemerkt :-)
>
>> Kein Wunder, dass Forensoftware PHP so einen schlechten Ruf beschert:-)
>
> Da könnte was dran sein.
>
>> Selbst nach nem Jahr sollte man noch in der Lage sein zu Wissen, dass
>> eine Variable mit $ gekennzeichnet ist-> $s
>
> 'tschuldige!
>