<rmcreative>

RSS

Стеганография средствами Apache и PHP

12 июля 2006

Из Википедии:

Стеганография — в переводе с греческого дословно означает «тайнопись». Это наука о скрытой передаче информации путём сохранения в тайне самого факта передачи. В отличие от криптографии, которая скрывает содержимое секретного сообщения, стеганография скрывает само его существование.

Что сделает злоумышленник, который не найдёт на сайте ни одного скрипта? Кроме как сдаться ничего и не останется...

Итак, как же это всё реализовать?

Первое, что нам понадобится - обработчик ошибок. Напишем его на php.

//Файл error.php
 
  //Посылаем правильный заголовок
  header('HTTP/1.0 404 Not Found');
  //Выводим информацию для пользователя
  print('Ошибка, страница не найдена.');

В htaccess добавим:

[apache]

  ErrorDocument 404 error.php

Теперь добавляем ко всем нашим скриптам входной get параметр mode и если он не указан или неправильно указан - запускаем наш обработчик ошибок для выдачи ошибки 404. Если же всё указано правильно - выполняем скрипт.

//Файл index.php
 
//Если передан параметр и подходящее значение
if(isset($_GET['mode']) && $_GET['mode']=='display'){
    //Выполняем скрипт
    print('Результат работы скрипта');
}
else{
    //Иначе прикидываемся отсутствующим
    include('error.php');
}

Таким образом, если в адресной строке наберём

http://www.oursite.ru/index.php

получим ошибку об отсутствии такого файла на сервере.

Для обращения к скрипту используем

http://www.oursite.ru/index.php?mode=display

Далее делаем красивые, но неудобные для злоумышленника URL, как описано в моей статье "Красивые адреса на сайте".

Если вкратце, это делается это путём вписывания в htaccess

[apache]

RewriteEngine On 
RewriteRule display/? index.php?mode=display

Теперь наш скрипт доступен как

http://www.oursite.ru/display/

Далее перейдём к файлам, к которым обычно запрещают доступ (файлы паролей, данные для скриптов, конфигурация). По ним злоумышленник может определить, что за скрипт мы используем.

Все левые файлы вместо того, чтобы запретить к ним доступ можно и даже нужно скрыть. Это ещё больше собьёт нашего недоброжелателя с толку и, кроме того, также не позволит получить их.

Делается это так:

[apache]

RewriteEngine On 
RewriteRule config/?.* error.php
RewriteRule password.txt error.php

Вот в принципе и всё. Надеюсь, статья поможет вам в защите ваших сайтов.

p.s. используйте стеганографию, но не забывайте и о защите.

Комментарии RSS

  1. №6120
    Михаил
    Михаил 11.04.2012, 19:12:38

    Чушь/.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.