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

getprotobynumber

(PHP 4)

getprotobynumber - получает имя протокола, ассоциированное с номером протокола.

Описание

string getprotobynumber (int number)

getprotobynumber() возвращает имя протокола, ассоциированное с номером number протокола как /etc/protocols.

См. также getprotobyname().


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

Инъекция 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);