|
|
|
| Сегодня купил книгу "Головоломки на PHP для хакера", просмотрел и в
принципе понял, как могут появляться уязвимости через PHP-скрипты и SQL-запросы.
Но так, как PHP, MySQL я начал изучать недавно, то хочу задать авторам пару вопросов:
1. Не могли бы вы порекомендовать литературу конкретно по защите от уязвимостей при
написании PHP-скриптов и использовании MySQL для начинающих (т.е. поподробней).
2. PHP-скрипты и SQL-запросы при разработке сайта информационного характера
(без форм ввода, вывод данных из базы осуществляется через выпадающие списки и т.п.)
не будут нести в себе уязвимостей. | |
|
|
|
|
|
|
|
для: Ret
(06.11.2006 в 01:21)
| | 1) Дело в том, что существует ряд книг посвящённых безопасности Web-приложений, но там информация представлена в ещё более сжатом виде, чем в "Головоломках на PHP для хакера".
2) Может и в этом случае быть уязвимость, такие приложения предают первичные ключи через GET-параметры, следует следить за тем, чтобы в этих параметрах передавались лишь числа. Как правило, достаточно проверки
<?php
if(!preg_match("|^[\d]+$|", $_GET['числовой_параметр'])) exit("Не верный формат запроса");
?>
|
Если в GET-параметрах фигурируют текстовые параметры, то лучше их обрабатывать функцией mysql_escape_string() (если включен режим магических кавычек, когда сервер сам обрабатывает все GET, POST, COOKIE-параметры, то обрабатывать ничего не надо)
<?php
if (!get_magic_quotes_gpc())
{
// Режим магических кавычек не включён
// обрабатываем тектовые параметры
$_GET['theme'] = mysql_escape_string($_GET['theme']);
$_GET['author'] = mysql_escape_string($_GET['author']);
}
?>
|
| |
|
|
|