Защита от Iframe и других уязвимостей. Защита от взлома.
Защита от Iframe и других уязвимостей. Защита от взлома.
Недавно я на себе испытал взлом сайта. Было залито множество страниц и перелинковок... Как с этим бороться и как это делается?Пишу кратко. 1) Нужно запретить запуск внешних сценариев PHP. Для этого нужно написать в .htaccess следующее:
Code:
php_value allow_url_include off
php_value allow_url_fopen off
Code:
register_globals = Off
allow_url_include = off
allow_url_fopen = off
Code:
allow_url_include = off
allow_url_fopen = off
Code: JavaScript
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: JavaScript
function init() {
if (self.parent.frames.length != 0) {
self.parent.location = document.location;
}
....
<body onload="init();">
Code: JavaScript
<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>
Code:
Options -Indexes