مسدود کردن آی پی

vinja

New Member
سلام به همه
1. من میخوام به کمک php ای پی کاربر رو بگیرم و اضافش کنم به یک لیست حالا فایل متنی باشه یا دیتابیس فرقی نمی کنه
بعدش وقتی آی پی کاربر تو لیست قرار گرفت بار دومی که این یوزر وارید سایت شد چک کنه از لیست اگر آی پیش تو لیست موجود بود بفرسته به یک آدرس دیگه

2. چطوری میتونم یه سیشن یا کوکی رو تو سیستم ثبت کنم و در یک سایت دیگه ازش استفاده کنم
مثلا
نام کاربری و پسورد رو که یوزر زد و وارد سایت شد
میخوام تو اون یکی سایتم هم لاگین باشه بصورت اتوماتیک

ممنون میشم راهنماییم کنید
53.gif
 

Milad

Well-Known Member
1 . مشکل کجاست ؟

2 . فکر کنم این مشکل رو حل کنه ( امن نیست )‌ :

PHP:
session_set_cookie_params(0, "/", ".domain.com");
 

vinja

New Member
مشکل

والله مشکل اینجا هست که من هیچ چیزی ننوشتم و زیادم بلد نیستم

فقط یک فایل php یخواستم که هرکی اونو باز کرد ip طرف بازدید کننده رو ذخیره کنه و در صورت بازدید دوم از فایل در صورتی که ای پیش توی لیست باشه
اونو بفرسته به یک آدرس دیگه ای

:rose:
 

Milad

Well-Known Member
PHP:
<?
$banned = array("xxx.xxx.xxx.xxx","yyy.yyy.yyy.yyy","...");

if (in_array($_SERVER['REMOTE_ADDR'],$banned)) header("HTTP/1.1 403 Forbidden");
?>
 

vinja

New Member
دستتون درد نکنه
من زیاد بلد نیستم

میشه این ای پی ها رو توی یک فایل متنی ذخیره کرد، بعدشم طبق همین دستور موقع مراجعه به سایت اون فایل بررسی بشه اگه آی پی موجود بود، بازدید کننده رو بفرسته به آدرس یک سایت یا یک وبلاگ

ممنون میشم راهنمائیم کنید
 

Milad

Well-Known Member
یه راه ساده و معمول :

صفحه اصلی :

PHP:
<?php

include('list.php');

if (in_array($_SERVER['REMOTE_ADDR'],$banned))
{
    //Forbidden
    header("HTTP/1.1 403 Forbidden");
    echo 'Access Denied';
}
else
{
    // Show page
    echo 'welcome , Your ip' . $_SERVER['REMOTE_ADDR'];    
}

?>

لیست ip ها ( list.php )

PHP:
<?php

$banned = array(

'x.x.x.x',
'x.x.x.x',
'x.x.x.x',
'x.x.x.x',

);

?>
 

vinja

New Member
help

نمیشه توی یک فایل متنی ذخیره کرد
توی آرایه که مشکل به وجود میاد، هم به علت حجم زیاد اطلاعات هم اینکه احتامل اینکه آرائه پاک بشه هست

توی یک فایل متنی ذخیره بشه، بعدشم هر موقع بازدید کننده به سایت مراجعه کرد آیپیش از توی فایل چک بشه
اگه موحجود بود ریدایرکت کنه به یک لینک دیگه
 

Milad

Well-Known Member
فکر نکنم با آرایه مشکلی به وجود بیاد ٬ میتونید ip ها رو تو یک فایل txt بزارید با file_get_contents بریزید تو یک متغیر با strstr چک کنید .

البته راه بهتر هم باید باشه الان چیزی به ذهنم نمیرسه .
 

vinja

New Member
سلام
دستتون درد نکنه، من که بلد نیستم اگه یه فایل آماده و امتحان شده بود خیلی عالی میشد
 

Milad

Well-Known Member
صفحه PHP :
PHP:
<?php
    $list = file_get_contents('list.txt');
    
    if( strstr($list,$_SERVER['REMOTE_ADDR']) )
    {
        echo 'Access Denied';
        exit();
    }

    // Page content
    echo 'Welcome';
?>

لیست ip ها ( فایل list.txt )

کد:
1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4
 

vinja

New Member
واقعا دستتون درد نکنه، فقط یه سوال تو مثال بالا دستی آی پی ها رو توی فایل متنی می نویسیم؟ یعنی برنامه خودش آی پی رو قرار نمی ده توی فایل متنی؟
 

Milad

Well-Known Member
بله دستی هست ، فقط یک صفحه اصلی داریم که چک میکنه ip کاربری که درخواست مشاهده صفحه رو داده در لیست ip های مسدود شده هست یا خیر که اگر باشه اجازه دسترسی نمیده ...

اگر میخواید یک قسمت برای وارد کردن ip داشه باشید باید قسمت مدیریت بنویسید و ... یا در معمول ترین حالت یک صفحه میخواید با یک فرم که بشه ip به فایل اضافه کرد .
 

vinja

New Member
ip

سلام
صفحه مدیریت نمی خواد که، هر کس مراجعه کرد ای گیش برای همیشه تو سایت ذخیره بشه
هیچ ارفاغی هم قائل نشه، منظور اینکه همه همه همه ای گی هشون اینجوری میشه

دیگه مدیریت ای پی نداشته باشیم

با تشکر
 

Milad

Well-Known Member
تو فولدری که میخواید ip همه مسدود باشه یک فایل بسازید به اسم htaccess. ( به نقطه توجه کنید ! ) و درون اون این کد رو قرار بدید :

کد:
deny from all
 

vinja

New Member
ip

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

ممنون میشم راهنمایی کنید
 

Milad

Well-Known Member
PHP:
<?php

    $list = file_get_contents('list.txt');
    
    if( strstr($list,$_SERVER['REMOTE_ADDR']) )
    {
        echo 'Access Denied';
        exit();
    }

    // Page content
    echo 'Welcome';
    
    $list .= $_SERVER['REMOTE_ADDR'];
    
    file_put_contents ('list.txt',$list);

?>
 

ahmad_m1234

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

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

بالا