| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

04-02-2009, 02:09
|
|
Maclaim
Registrierter Benutzer
|
|
Registriert seit: Oct 2006
Beiträge: 28
|
|
Korrekte und sichere Ausgabe?
Hallo Leute,
ich wollte mich einfach mal vergewissern ob ich die Funktion mysql_real_escape_string bei der ausgabe meiner Daten von der Datenbank richtig verwende?! Oder ist es möglich sie einfach zu umgehen...
PHP-Code:
<?php
include "connect.php";
$query = "SELECT id, vname, nname, nickname, strase, ort FROM daten WHERE id = '1'";
$sql = mysql_query($query);
while ($ds = mysql_fetch_object($sql)){
$vname = $ds -> vname;
$nname = $ds -> nname;
$nickname = $ds -> nickname;
$strase = $ds -> strase;
$ort = $ds -> ort;
$vname = mysql_real_escape_string($vname);
$nname = mysql_real_escape_string($nname);
$nickname = mysql_real_escape_string($nickname);
$strase = mysql_real_escape_string($strase);
$ort = mysql_real_escape_string($ort);
echo $vname," ", $nname," ", $nickname," ", $strase," ", $ort;
}
mysql_close($dz);
?>
|

04-02-2009, 02:17
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
Re: Korrekte und sichere Ausgabe?
An der Stelle ist sie vollkommen bloedsinnig eingesetzt.
Sie ist dafuer da, Daten zu behandeln, bevor sie in eine MySQL-Query eingesetzt werden.
Zur Absicherung der Ausgabe von Daten in HTML ist htmlspecialchars da.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

04-02-2009, 02:52
|
|
Maclaim
Registrierter Benutzer
|
|
Registriert seit: Oct 2006
Beiträge: 28
|
|
OKeay da es ja auch eine Funktion ist könnte ich es doch ganz einfach in meinem Script so tauschen oder?
ALso von
PHP-Code:
$vname = mysql_real_escape_string($vname);
nach
PHP-Code:
$vname = htmlspecialchars($vname);
und somit währe es doch dann sicherer oder?[
|

04-02-2009, 07:42
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Re: Korrekte und sichere Ausgabe?
Sicherheit ist das eine, Eleganz noch was anderes.
PHP-Code:
<?php
include 'connect.php';
// id ist eine numerische Spalte? Sollte sie jedenfalls sein.
// strase solltest du umbenennen in strasse.
// Eine Tabelle sollte niemals daten heißen!
$sql = 'SELECT id, vname, nname, nickname, strasse, ort
FROM users
WHERE id = 1';
// Variablen sollten sinnvoll benannt sein.
$result = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_object($result)){
echo htmlspecialchars(
$row->vname
.' '. $row->nname
.' '. $row->nickname
.' '. $row->strasse
.' '. $row->ort
);
}
// Hier kein mysql_close(), denn da der Verbindungsaufbau
// in connect.php geschieht, weißt du hier eigentlich gar nicht,
// wie das DB-Handle heißt und PHP schließt sowieso alle
// Verbindungen am Ende eines Scripts.
?>
Und dann wäre da noch der Sprachmix Englisch/Deutsch ...
Geändert von onemorenerd (04-02-2009 um 07:46 Uhr)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| 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.
HTML-Code ist aus.
|
|
|
|
PHP News
|