Навигация
 
| Основное меню
  - Главная
  - Обратная связь
  - Обменятся ссылками
  - Добавить новость
  - Раздача ICQ

| Скачать файлы
  - Шаблоны сайтов
  - Иконки
  - Для вебмастера
  - Для мобильного
  - Полезный софт
  - Скринсейверы
  - Игры
  - Эротика
  - Украшательства
  - Обои
  - Фильмы
  - Сборки Windows

| Все для Photoshop
  - Уроки Photoshop
  - Исходники и клипарты
  - Кисточки Photoshop
  - Разное Photoshop

| Читать статьи
  - Настройка реестра
  - Настройка WinXP
  - Настройка Bios
  - Оптимизация интернета
  - Настройка сети
  - Статьи о хаке
  - Настройка Windows Vista
  - Разное
  - Железо
  - Windows Server
  - ICQ Хак
  - Web дизайн

  Последниe комментарии

 
 
Календарь
 
«    Октябрь 2007    »
ПнВтСрЧтПтСбВс
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 
 
 

» True Crime: Streets of Los Angeles [RUS]{new}7 апреля 2008
» Conflict Denied Ops (2008/RUS){new}5 апреля 2008
» Warriors Orochi (2008/ENG){new}28 марта 2008
» RTL Biathlon 2008{new}22 марта 2008
» Поцелуй Иуды / Belief & Betrayal (2008/RUS){new}18 марта 2008
» Warhammer 40000: Dawn ofWar - Soulstorm (2008/ENG){new}17 марта 2008
» Lost: Via Domus (2008/RUS){new}16 марта 2008
» Desktop Sidebar 1.05 Build 116{new}28 марта 2008
» Aston2 Menu-нереально красивое меню "Пуск"{new}22 марта 2008
» Windows Vista Themes 4in1 Pack{new}22 марта 2008
» The Best 30 Theme For Windows XP 2008{new}18 марта 2008
» 20 скинов для AIMP 2{new}17 марта 2008
» Virtua Girls 2.63{new}16 марта 2008
» 2008 original themes for XP{new}7 февраля 2008

Безопасное программирование на PHP
Хак раздел
В этой статье я хочу рассказать основные принципы безопасного программирования на PHP. На написание статьи меня подтолкнул тот факт, что в интернете очень много статей о том как взламывать сайты через дыры в PHP-скрпитах, но очень мало советов (и все они разбросаны) как не делать ошибок, через которые сайт может быть взломан. Статью я решил разделить на несколько частей, каждая из которых посвящена какому то типу ошибок и примером, как этой ошибки избежать. В конце статьи я хочу дать общие советы. Так же хочу заметить, что в статье НЕТ конкретных примеров по взлому, а те кто хочет с ними познакомиться я отсылаю на очень хороший и большой архив - . В нем собрана большая коллекция статей посвященных взлому сайтов черех PHP-скрпиты. Итак, приступим.


===========
Include-баг
===========

Это очень старый и почти всем известный баг в скриптах, но к сожалению до сих пор очень актуальный. Ф-ция include() (ее аналог: inсlude_once()) служит для того, чтобы прикреплять к PHP-коду новые модули на PHP. Наиболее частой ошибкой с этой ф-цей является код: include("$file") , а переменная $file берется из параметра к скрипту (например, qwe.php?file=index.php). Хакеру просто остается создать на своем хосте PHP-файл с веб-шелом и передать в параметре к скрипту адрес своего веб-шела Правда в этой ситуации жертву может спасти, то что в конфиге PHP запрещено инклудить файл с других серверов.
Решением проблемы с Include-багом является отсутствие переменной передаваемой в запросе к скрипту, для инклуда. В таких случаях можно использовать конструкцию с оператором switch, например так:

switch ($case) // $case - имя переменной передаваемой в параметре к скрипту
{
case news:
include("news.php");
break;

case articles:
include("articles.php");
break;

... // и т.д.

default:
include("index.php"); // если в переменной $case не будет передано значение, которое учтено выше, то открывается главная страница
break;
}

Многие наивные программисты думают, что если они сделают конструкцию типа include("$file.php"), то их не смогут сломать. Они глубоко ошибаются! Во-первых, в старых версиях PHP (например, PHP сможет получить FTP-доступ.
3) Шифруйте все пароли доступа к различным закрытым зонам специальными ф-циями, например md5(). Если хакер сможет получить базу с такими паролями, то расшифровать их будет проблематично.
4) Следите за обновлениями самой версии PHP и своевременно обновляйте ее при выходе новой стабильной версии, потому что не только PHP-код может таить в себе уязвимость, но и сам интерпретатор языка (я думаю все помнят о PHP 4.0.2-4.0.7 которая позволяла удаленно открыть веб-шел).
5) По возможности давайте не распространенные имена к конфигам с паролями (cfg.php и т.д., а не config.php или conf.php), т.к. это затруднит поиск конфигов с помощью поиска по файлам сервера (find / -name conf*) хакером.
6) Не пренебрегайте возможностью сделать HTTP-аутификацию средствами PHP, особенно если нет возможности это сделать на уровне Апача (.htaccess и .htpasswd). Более подробно о таком виде аутификации и других видах можете прочесть в серии статей "Авторизация доступа"
7) По возможности держите ваш PHP в режиме safe mode (safe_mode=on). Так же советую вырубить инициализацию глобальных переменных (register_globals=off) и возможность fonen() открывать адреса из веба (allow_url_fopen=off). Еще можно запретить опасные ф-ции:
disable_functions=phpinfo,system,passthru
8) Если пишите гостевуху и т.п., то не забывайте ставить фильтрацию во всех формах (ник, мыло и т.д.) на теги с помощь ф-ции htmlspecialchars(). Кстати, если в теле сообщений нужно использовать теги, то лучше сделать свои (типа [B][/B] и т.д.), а не делать фильтры на запрещение не нужных.
9) Шифруйте исходники на PHP и особенно конфиги с помощью Zend Optimizer

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
 (голосов: 2)
Распечатать

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
Личное меню
   
Наши друзья
   
и что как автомобили и цены || сварочное оборудование каталог сварка || автомобили хундай, автомобиль hyundai