[Döküman] - PHP Sayfasına Direk Erişimi Engelleme
-
selam beyler, bu dökümanımızda php sayfamıza direk erişimi engellemeyi anlatacağım.
çalışma 2 php dosyasından oluşuyor, tahribat.php ve connect.php
tahribat.php sayfamıza girdiğimizde connect.php 'ye yönleniyoruz ve o sayfadaki bağlantı sayesinde tahribat.php sayfasına verilen linkten içeriğimizi görüntülüyoruz.
mantık şöyle; tahribat.php içeriği 'ne ulaşmak için $yoursite = "www.tahribat.com"; buradan belirlediğimiz site üzerinden bağlantı vermemiz gerekiyor.
ben google ve tahribat.com olarak belirledim ref linklerini kendinize göre düzenleyebilirsiniz.
tahribat.php sayfasına girince karşımıza çıkan sayfa;
http://i55.tinypic.com/ndv1ie.png (connect.php içeriği)
connect.php üzerinden tekrar tahribat.php bağlantısına tıkladığımızda karşımıza çıkan sayfa;
http://i56.tinypic.com/1z5szo9.png
tahribat.php;
<?PHP
preg_match('#(google|yahoo|msn)#i', $_SERVER['HTTP_USER_AGENT'], $botvarmi);
if ($botvarmi[1]=='')
$yoursite = "tahribat.com";
$yoursite2 = "www.tahribat.com";
$yoursite3 = "google.com";
$yoursite4 = "www.google.com.tr";
$referer = $_SERVER['HTTP_REFERER'];
//Check if browser sends referrer url or not
if ($referer == "") { //If not, set referrer as your domain
$domain = $yoursite;
} else {
$domain = parse_url($referer); //If yes, parse referrer
}
if($domain['host'] == $yoursite || $domain['host'] == $yoursite2 || $domain['host'] == $yoursite3 || $domain['host'] == $yoursite4) {
//Run your dowloading code here normally
} else {
//The referrer is not your site, we redirect to your home page
header("Location: connect.php");
exit(); //Stop running the script
}
$metin1="içerik gösterildi, tahribat.com / eXceptioN";
echo"
<html>
<head>
</head>
<body>
<b>$metin1</b><br>
</body>
</html>
";
?>
connect.php;
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254" />
<title>Tahribat.Com / PHP Sayfasına Direk Erişimi Engellemek</title>
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #000000;
style="text-decoration:none"
}
.style1 {
font-family: tahoma;
font-size: 10pt;
}
.style2 {
font-family: "Courier New", Courier, monospace;
font-size: 16pt;
}
.style5 {
font-size: 10px;
font-family: Arial, Helvetica, sans-serif;
}
-->
</style></head>
<body>
<div align="center">
<p><br></p>
<p class="style1"><span style="color:white;"><br><br><br><br><br><br><br><br><br><br><br><br><br><br><b>Tahribat.Com</p><p class="style1">
<p class="style1"><span style="color:white;">Siteye Girebilmek için Alttaki Linke Tıklayın.<br>PHP Sayfasına Direk Erişimi Engelleme </span></p>
<p class="style1"><span style="color:white;"><a href="tahribat.php"><font color="white">İçeriği Göster / Sayfaya Git</a></font><br><br>
</span>
</b>
<br>
<br>
<br>
</p>
</div>
</body>
</html>
ayrıca tahribat.php dosyamızdaki preg_match('#(google|yahoo|msn)#i', $_SERVER['HTTP_USER_AGENT'], $botvarmi); bu kod sayesinde google, yahoo, msn gibi botlar sayfamızı sorunsuz görüntüleyebiliyor, yani tahribat.php içeriğini sıkıntı yaratmadan indexliyor (:
iyi çalışmalar arkadaşlar. -
güzel döküman hocam eline sağlık.
-
ek olarak; kendi scriptlerinize uyarlamak için header gibi tüm sayfalarda geçerli olabilecek dosyalara entegre etmelisiniz .
en basitinden wordpress script için wp-blog-header.php dosyası şu şekilde olmalı:
<?php
preg_match('#(google|yahoo|msn)#i', $_SERVER['HTTP_USER_AGENT'], $botvarmi);
if ($botvarmi[1]=='')
$yoursite = "site.com";
$yoursite2 = "site.com";
$yoursite3 = "site.com";
$yoursite4 = "site.com";
$referer = $_SERVER['HTTP_REFERER'];
//Check if browser sends referrer url or not
if ($referer == "") { //If not, set referrer as your domain
$domain = $yoursite;
} else {
$domain = parse_url($referer); //If yes, parse referrer
}
if($domain['host'] == $yoursite || $domain['host'] == $yoursite2 || $domain['host'] == $yoursite3 || $domain['host'] == $yoursite4) {
//Run your dowloading code here normally
} else {
//The referrer is not your site, we redirect to your home page
header("Location: connect.php");
exit(); //Stop running the script
}
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( !isset($wp_did_header) ) {
$wp_did_header = true;
require_once( dirname(__FILE__) . '/wp-load.php' );
wp();
require_once( ABSPATH . WPINC . '/template-loader.php' );
}
?> -
Belki eski ama hala yeni ve aranan bir kaynak.