جلوگیری از دسترسی یک یا چند سایت به سایت ما ...

amirepsilon

Active Member
یعنی فرستادن یک درخواست به سایت شما اینقدر پهنای باند مصرف میکنه که شما باید جلوشو بگیرید ؟
 

Mr.Steres

Active Member
هاست تراکر از ای پی و دیتا سنتر های مختلف درخواست می فرسته ! شما بهتره همه ای پی ها رو بلوک کنی ! یه سرچ بزنی پیدا می شه
 

pix07

Member
سلام دوستان من یه فایل php دارم که یک سری مقادیری رو که با متد post براش ارسال میشه رو میگیره و روی دیتا بیس ذخیر میکنه

حالا چطور میتونم دامنه ای رو که اون مقادیر رو برای این فایل php که روی یک هاست دیگه است ارسال میکنه رو فقط مجاز و مقادیری که از سایر جاهای دیگه میاد رو reject کنم یعنی فقط همومن دامنه روی همون سرور با همون ip بتونه مقادیر مورد نظر رو به این فایل php ارسال کنه و اگر برای مثال از دامنه ی www.y.com به فایل ما که در این آدرس www.m.com/recive.php قرار داره مقادیری ارسال شد اون رو reject کنه ولی اگه از دامنه www.ok.com به فایل ما که در این آدرس www.m.com/recive.php قرار داره همون مقادیر ارسال شد اونو بگیره و در تیبل insert کنه
 
آخرین ویرایش:

k2-4u

Well-Known Member
خب شما . یک دیتابیس درست کنید یا یک آرایه که شامل ایست IP های مورد نظر باشه
بعد به وسیله عنصر زیر چک کنید . اگر IP در لیست سیاه بود . چیز دیگه ای نشون بدین
PHP:
$_SERVER['REMOTE_ADDR']
این هم یک مثال برای آرایه
PHP:
if ( !in_array($_SERVER,$blackList) ){
//your website code
}else{
	echo "Blocked!";  Or //header("HTTP/1.1 404 Not Found");
}
 

Mr.Steres

Active Member
ولی به نظر من بازهم با این کارها خلاصه درخواست ه به سرور می ره ؟
 

pix07

Member
<?php
if ( eregi ( "www.mysite.com", $_SERVER['HTTP_REFERER'] ) )
{
// do something
}
else
{
echo "Nice try";
}
?>



ممنون که پاسخ دادید

یکی از دوستان در پرشن تولز محبت کردند و کد بالا رو به من دادند
ولی متاسفانه چون من تازه وارد عرصه جنگ با php و mysql شدم نتونستم نحوه استفاده از کد بالا رو دریابم

در ضمن در کدی هم که شما در بالا قرار دادید اشاره کردید که این کد برسی میکنه که اگر ip مورد نظر در black list نبود .... در حالی که برعکس قصد من اینه که برسی کنه اگر در whit list نبود اونوقت reject بشه با این حساب فکر میکنم نیازی به ساخت دیتا بیس نباشه و در همون فایل php بشه ip مجاز رو تعریف کرد و...

اصلا فایل php مورد نظر رو اینجا قرار میدم..

توضیح را جب فایل : کدی که در این فایل قرار داره مقادیری رو که با متد post بهش ارسال میشه رو دریافت وسپس روی تیبل های دیتا بیس ذخیزه میکنه
قصد ما اینه که مقادیر از هر جایی ارسال نشه ... و فقط از سرور یا آدرس دامنه ای که ما اونو مجاز میدونمیم این مقادیر ارسال و تابع ما اونو دریافت و روی دیتا بیس ذخیر کنه

برای مثال ماین دامنه : www.ok.com یا این ip : 89.165.13.200 رو مجاز میدونیم و میخوایم مقادیری رو که فقط از سرور یا دامنه فوق برای فایل php ما ارسال میشه رو دریافت و ....

لطفا یه نگاه بهش بنداز وکد مورد نظر رو بهش اضافه کنید
با تشکر
 

پیوست ها

  • sabt.zip
    836 بایت · بازدیدها: 5
آخرین ویرایش:

k2-4u

Well-Known Member
خب به نظر من . این کدی که شما گذاشتین جواب گو نیست!
من کدم یک مشکل کوچولو داشت . باید به صورت زیر می بود
PHP:
if ( !in_array($_SERVER['REMOTE_ADDR'],$blackList) ){
//your website code
}else{
    echo "Blocked!";  Or //header("HTTP/1.1 404 Not Found");
}
شما می تونین علامت تعجب رو (Not) بردارین یا ... کد رو عوض کنید
ولی در هر صورت کار رو راه میندازه

ولی به نظر من بازهم با این کارها خلاصه درخواست ه به سرور می ره ؟
اگر بخواین این اینطوری نشه
(که به نظر من چند بایت اطلاعات مشکلی ایجاد نمی کنه )
شما می تونین با دستور .htaccess دسترسی کل سایت رو
ببندین
 

pix07

Member
خب به نظر من . این کدی که شما گذاشتین جواب گو نیست!
من کدم یک مشکل کوچولو داشت . باید به صورت زیر می بود
PHP:
if ( !in_array($_server['remote_addr'],$blacklist) ){
//your website code
}else{
    echo "blocked!";  or //header("http/1.1 404 not found");
}
شما می تونین علامت تعجب رو (not) بردارین یا ... کد رو عوض کنید
ولی در هر صورت کار رو راه میندازه


اگر بخواین این اینطوری نشه
(که به نظر من چند بایت اطلاعات مشکلی ایجاد نمی کنه )
شما می تونین با دستور .htaccess دسترسی کل سایت رو
ببندین

ممنون از پاسخت

میشه راهنمایی قدم به قدم انحوه استفاده از کدی رو که گذاشتید رو بفرمایید ؟

ممنون میشم فایلی رو که من گذاشتم ویرایش و دستور رو بهش اضافه کنید
 

k2-4u

Well-Known Member
در حال حاضر در کد زیر شما باید در لیست IP
ها اونایی رو بدین که حق باز کردن سایت رو ندارند
---
اگر تصمیم دارین فقط لیست IP های رو بدین که حق دسترسی دارند
علامت ! رو حدف کنید ! همین

PHP:
<?php

$blackList=array();

$blackList[]='ip1';
$blackList[]='ip2';
$blackList[]='ip3';
$blackList[]='ip4';
	

if ( !in_array($_SERVER['REMOTE_ADDR'],$blackList) ){

?>
<style type="text/css">
<!--
.style1 {font-family: Tahoma}
.style2 {
	font-family: Tahoma;
	font-size: 12px;
	color: #FFFFFF;
}
.style3 {color: #0000FF}
.style4 {color: #0033FF}
.style5 {color: #3366FF}
.style6 {color: #000000}
.style7 {color: #666666}
body {
	background-image: url(/form/bg2.png);
	background-color: #383838;
}
-->
</style>
<head> 
 <link rel="stylesheet" href="kha.css" type="text/css"/>
</head>
<p>&nbsp;</p>
<p></p>
  <p align="center">  
  <p align="center">
  <form name="form1" method="get" action="/form">

  <table width="403" height="84" border="1" align="center" bordercolor="#999999" bgcolor="#FFFFCC">
    <tr bgcolor="#FFFF33">
      <td height="28"><div align="center"><font color='#0000FF' style='font-family:tahoma; font-size:12px; font-weight:bold'>وضعیت  </font></div></td>
    </tr>
    <tr bgcolor="#666666">
      <td><div align="center">
          <div align="center">
            <?php 

require_once("db.php"); 

$name=$HTTP_POST_VARS['fname'];
$famil=$HTTP_POST_VARS['surname'];
$phone=$HTTP_POST_VARS['phone'];
$email=$HTTP_POST_VARS['email'];





$insertSQLEpay = "INSERT INTO epay(name,famil,phone,email) VALUES('$name','$famil','$phone','$email')"; 


$rsd = mysql_query($insertSQLEpay,$conn); 


 

?>
 </div></td>
    </tr>
  </table>
  <p></p>
<p></p>
<p align="left">&nbsp;</p>
  <p align="center">
    <input type="submit" value="ادامه..." name="B12" />
  </p>
  <p align="center">&nbsp;      </p>
  
<?php

}else{
    echo "Blocked!"; // Or header("HTTP/1.1 404 Not Found");
}  

?>
 

pix07

Member
سلام و تشکر از شما بخاطر زحمتی که برای بنده کشیدید

من از کد بالا هنوز استفاده نکردم چون نمیدونم این دقیق همون کاری رو که من ازش میخوام رو برام انجام میده یا نه ولی یخورده هدفم رو بیشتر تشریح میکنم تا دوستان بهتر منو راهنمایی کنند
ما یه صفحه داریم a.php که یه سری متغیر های رو به یه صفحه دیگه توی یه سرور دیگهb.php میفرسته بعد صفحه دوم b.php که روی سرور دوم قرار داره پس از برسی این متغیرها پاسخ رو به صفحه سوم c.php روی سرور اول میفرسته و صفحه c.php پاسخ دریافتی که شامل چند متغیر هست رو به همراه اطلاعاتی که از کاربر در همین صفحه از طریق یک فرم دریافت میکنه رو روی دیتا بیس ذخیره میکنه
قصد ما اینه که این اطلاعات قابل مشاهده نباشند و اینکه کاربر نتونه این اطلاعات رو بخونه و یا اینکه اگه احیانا تونست بخونه نتونه اون اطلاعات رو خودش از طریق سیستم (هر صفحه دیگر در هر سرور دیگر ) دیگری برای صفحه سوم ما c.php که روی سرور اول قرار دار ه ارسال کنه
خوب حال چه را ههایی برای اینکار وحفظ امنیت وجود داره
لطفا راهنمایی کنید
 

جدیدترین ارسال ها

بالا