Защита от Iframe и других уязвимостей. Защита от взлома.

Защита от Iframe и других уязвимостей. Защита от взлома.

Недавно я на себе испытал взлом сайта. Было залито множество страниц и перелинковок... Как с этим бороться и как это делается?
Пишу кратко. 1) Нужно запретить запуск внешних сценариев PHP. Для этого нужно написать в .htaccess следующее:
 Code:
php_value allow_url_include off
php_value allow_url_fopen off
Или в файл php.ini
 Code:
register_globals = Off
allow_url_include = off
allow_url_fopen = off
В нашем случае основное это
 Code:
allow_url_include = off
allow_url_fopen = off
Далее. Можно прописать javascript после  Code: js
if (window.top !== window.self) {
document.write = "";
window.top.location = window.self.location;
setTimeout(function(){document.body.innerHTML='';},1);
window.self.onload=function(evt){
document.body.innerHTML='';};
}
От автора последнего скрипта:
 Quote:
Повторяю: после открывающего тега "" вы ставите открывающий тег . Здесь используется нехитрая логика: в коде мы проверяем, является ли наш документ окном верхнего уровня ил нет. Если не является, то, скорее всего, документ показан в iframe. В этом случае мы указываем окну реальный URL нашего документа. А перед этим мы очищаем документ на тот случай, если злодей, который наставил нам iframe, запретил выполнение кода при загрузке.
Вот еще вариант скриптика:
 Code: js
function init() {
if (self.parent.frames.length != 0) {
self.parent.location = document.location;
}
....
<body onload="init();">
Или
 Code: js
<script language="javascript">
  <!--
    //Check Frames Page Script
    //by Krazy Katz Productions
    //Please keep this notice intact

    var framespage="index.html" //This is the frames page for your page.

    //No need for editing below here.

    if (top.location==document.location){
      top.location=framespage;
    }else{
      var parent_location=parent.location.href;
      var str_beginning=parent_location.length-framespage.length;
      if (parent_location.substring(str_beginning, parent_location.length)!=framespage){
        parent.location=framespage;
      }
    }
  //-->
</script>
Что еще можно сделать? Защититься от подвешивания сервака от множественных запросов и ДОС атак... Но это уже другая история. Ах да, и добавьте запрет на просмотр папок без индексного файла. В .htaccess пишем:
 Code:
Options -Indexes
Кто сталкивался? Помогло :)? И еще. Воспользуйтесь goole caja :) http://caja.appspot.com/
Заменяем getimagesize на CURL. И get_headers на CURL
Схемы ускорения веб-сайта / Mysql + Шаблонизаторы и кеширвоание
Как удалить переносы строк внутри таблицы? ( PHP )
Хостинг не оплачен.