Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Проверка ввода данных менее эффективна, чем параметризованные запросы и хранимые процедуры
"SELECT * FROM FUNC1( $var );"
"SELECT * FROM FUNC1( 1 ); DROP TABLE Users; /* );"
$authors= $db->query('
select uri, title
from thing
where uri in (
select object
from link
where relation = "?rel:author"
and subject = ',$uri,'
)
')->rows;Здесь кусок кода, предложенный Джоном Ли:
$username = $_POST['username'];
$password = $_POST['password'];
if (!get_magic_quotes_gpc()) {
$username = addslashes($username);
$password = addslashes($password);
}
interface SQLDatabaseDriver {
public String getNamesQuery();
public String getValueByNameQuery(String value);
};
class SomeSpecificDatabaseDriver implements SQLDatabaseDriver {
public String getNamesQuery() { return "SELECT name FROM tbl";}
public String getValueByNameQuery(String name) {
return "SELECT value FROM tbl WHERE name='"+name+"'";
}
};
<form method="post">
<input type="text" name="q" />
</form>
<?php
if (isset($_POST['q']) and !empty($_POST['q'])) {
mysql_connect('localhost', 'root', '');
mysql_select_db('ruzievkz');
$sql = 'SELECT * FROM route WHERE route_id='.$_POST['q'];
echo '<pre>';
print_r($sql);
echo '';'; var_dump(mysql_fetch_object($result)); echo '';
'; var_dump($_POST); echo '';
Профилактика SQL-инъекций