PHP рдХреЗ рдЪрд┐рдкреНрд╕

рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рдРрд╕реА рддрдХрдиреАрдХреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдХрд░рддрд╛ рд╣реВрдВред рд╡реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

SQL рдХреНрд╡реЗрд░реА рдореЗрдВ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░


рд╣реИрд░рд╛рдиреА рдХреА рдмрд╛рдд рд╣реИ, mysql PHP рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ, SQL рдХреНрд╡реЗрд░реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдХрдЪреНрдЪреЗ рдбреЗрдЯрд╛ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░реНрд╕ рдХреЛ рджрд┐рдП рдЧрдП рдорд╛рди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ mysql_real_escape_string () рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ SQL рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рдЦрддрд░реЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред
рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:

$name = "O'Reilly";
mysql_exec("SELECT * FROM people WHERE name = ?", $name);


рдЗрд╕рдХреЗ рдмрд┐рдирд╛, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд╣реЛрдВрдЧреЗ:

$name = "O'Reilly";
$name = mysql_real_escape_string($name);
mysql_query("SELECT * FROM people WHERE name = '$name'");


рдЪреЗрд╣рд░реЗ рдкрд░ рдкрд╣рд▓реА рд╡рд┐рдзрд┐ рдХрд╛ рд▓рд╛рднред
рдФрд░ рдЕрдм рдХреЛрдб рд╣реА:

function mysql_exec($sql) {

$args = func_get_args();
$args = array_map("mysql_real_escape_string", $args); // mysql_real_escape_string
$sql = str_replace("?", "'%s'", $sql); // sprintf
$args[0] = $sql;
$sql = call_user_func_array("sprintf", $args);
return mysql_query($sql);

}


unregister_globals


рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ register_globals рдЪрд╛рд▓реВ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрдк рдПрдХ рдЪрд╛рд▓ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ:

function unregister_globals() {

// , register_globals = off
if (!ini_get("register_globals")) {
return;
}

//
$allowed = array("GLOBALS", "_COOKIE", "_ENV", "_FILES", "_GET", "_POST", "_SERVER");
// ...
foreach ($GLOBALS as $name => $value) {
if (!in_array($name, $allowed)) {
unset($GLOBALS[$name]);
}
}

}


рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред

рд▓рдбрд╝рдирд╛ рдореИрдЬрд┐рдХ_рдХреНрд╡реЛрдЯреНрд╕


рд╡рд╣реА рдореИрдЬрд┐рдХ_рдХреНреЛрдЯреНрд╕_рдЬреАрдкреАрд╕реА рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдпрджрд┐ рдпрд╣ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

function magic_quotes_gpc_off() {

if (!get_magic_quotes_gpc()) {
return;
}
function array_stripslashes($array) {
return is_array($array) ? array_map("array_stripslashes", $array) : stripslashes($array);
}
$_GET = array_stripslashes($_GET);
$_POST = array_stripslashes($_POST);
$_COOKIE = array_stripslashes($_COOKIE);

}


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рдереАред

Source: https://habr.com/ru/post/In21971/


All Articles