Функции Язык программирования PHP

get_resource_type

(PHP 4 >= 4.0.2)

get_resource_type - возвращает тип ресурса.

Описание

string get_resource_type (resource handle)

Эта функция возвращает строку, представляющую тип resource, переданного ей. Если параметр не является правильным resource, генерируется ошибка.
$c 
= mysql_connect(); echo get_resource_type($c)."\n"; // печатает: mysql link $fp 
= fopen("foo","w"); echo get_resource_type($fp)."\n"; // печатает: file $doc = 
new_xmldoc("1.0"); echo get_resource_type($doc->doc)."\n"; // печатает: domxml 
document


Назад Оглавление Вперёд
get_defined_vars Вверх gettype

Инъекция SQL

Многие web-разработчики не в курсе того, как запросы SQL могут быть подделаны, и считают, что SQL-запрос это надёжная команда.
SQL-запросы могут обойти управление доступом, стандартную аутентификацию и проверку авторизации, а некоторые SQL-запросы могут даже дать доступ к командам ОС хоста.

Direct SQL Command Injection это такая техника, когда взломщик создаёт или изменяет текущие команды SQL для получения доступа к скрытым данным, их переопределения или даже для выполнения опасных команд системного уровня на хосте БД. Это выполняется с помощью приложения, принимающего пользовательский ввод, и сочетания его со static-параметрами для построения SQL-запроса. Следующие примеры (к сожалению...) основаны на реальных фактах.

Благодаря отсутствию проверки ввода и соединения с БД или поведению superuser'а или того, кто может создавать пользователей, взломщик может создать superuser'а в вашей БД.
Пример 4-6. Разделение результата выполнения запроса на страницы...
и создание superuser'ов (PostgreSQL и MySQL)
$offset = argv[0]; // видите, никакой проверки ввода! $query = "SELECT id, 
name FROM products ORDER BY name LIMIT 20 OFFSET $offset;"; // с PostgreSQL $result 
= pg_exec($conn, $query); // с MySQL $result = mysql_query($query);