eEcho blog

is een halte van de gedachte

mysql_real_escape_string PHP

mysql_real_escape_string — Escapes special characters in a string for use in a SQL statement
Omschrijving:

string mysql_real_escape_string ( string $unescaped_string [, resource $link_identifier ] )

Escapes speciale tekens in de unescaped_string, rekening houdend met de huidige tekenset van de verbinding, zodat het veilig is om deze te plaatsen in een mysql_query (). Als binaire gegevens dienen te worden geplaatst, deze functie gebruikt te worden.

mysql_real_escape_string () oproepen MySQL’s library functie mysql_real_escape_string, die prepends backslashes om de volgende tekens: \ x00, \ n \ r \ ‘,’ en \ x1a.

Deze functie moet altijd (met enkele uitzonderingen) worden gebruikt om de gegevens veilig zijn voor het versturen van een query op MySQL.
Parameters

unescaped_string

The string that is to be escaped.
link_identifier

De MySQL-verbinding. Als de link identifier niet opgeeft, wordt de laatste schakel geopend door mysql_connect () wordt verondersteld. Indien een dergelijke link wordt aangetroffen, zal proberen er een te maken, alsof mysql_connect () werd aangeroepen zonder argumenten. Als bij toeval geen verband is gevonden of is gevestigd, een E_WARNING niveau fout wordt gegenereerd.

Return Values

Returns the escaped string, or FALSE on error.
Examples

Example #1 Simple mysql_real_escape_string() example

// Connect

$link = mysql_connect(’mysql_host’, ‘mysql_user’, ‘mysql_password’)
OR die(mysql_error());

// Query

$query = sprintf(”SELECT * FROM users WHERE user=’%s’ AND password=’%s’”,
mysql_real_escape_string($user),
mysql_real_escape_string($password));

Example #2 An example SQL Injection Attack

// Query database to check if there are any matching users
$query = “SELECT * FROM users WHERE user=’{$_POST[’username’]}’ AND password=’{$_POST[’password’]}’”;
mysql_query($query);

// We didn’t check $_POST[’password’], it could be anything the user wanted! For example:
$_POST[’username’] = ‘aidan’;
$_POST[’password’] = “‘ OR ‘’='”;

// This means the query sent to MySQL would be:
echo $query;

Comments are closed.

Home | info@eecho.info | Voorwaarden | Blog