Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос по безопасности
 
 автор: Ret   (06.11.2006 в 01:21)   письмо автору
 
 

Сегодня купил книгу "Головоломки на PHP для хакера", просмотрел и в
принципе понял, как могут появляться уязвимости через PHP-скрипты и SQL-запросы.
Но так, как PHP, MySQL я начал изучать недавно, то хочу задать авторам пару вопросов:

1. Не могли бы вы порекомендовать литературу конкретно по защите от уязвимостей при
написании PHP-скриптов и использовании MySQL для начинающих (т.е. поподробней).

2. PHP-скрипты и SQL-запросы при разработке сайта информационного характера
(без форм ввода, вывод данных из базы осуществляется через выпадающие списки и т.п.)
не будут нести в себе уязвимостей.

   
 
 автор: cheops   (06.11.2006 в 01:32)   письмо автору
 
   для: 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']);
   }
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования