Help Các bác biết về làm web vào giúp em với ạ!!!

notspampls

Senior
Joined
Apr 24, 2010
Messages
573
Reactions
186
MR
0.398
Tình hình là thế này, mình muốn truy cập vào 1 site bằng nhiều ssh và VPN, thế nhưng lại ko muốn bị trùng lượt IP đã vào. Kiểu như là: tạo trang A tự động chuyển qua trang B, nhưng nếu IP đó đã vào B rồi thì A sẽ chặn lại báo ko cho vào! Làm thế để Ip đã vào sẽ ko vào đc site B nữa á! Có bác nào biết làm không thông não em cách làm với ạ :)
 
Tình hình là thế này, mình muốn truy cập vào 1 site bằng nhiều ssh và VPN, thế nhưng lại ko muốn bị trùng lượt IP đã vào. Kiểu như là: tạo trang A tự động chuyển qua trang B, nhưng nếu IP đó đã vào B rồi thì A sẽ chặn lại báo ko cho vào! Làm thế để Ip đã vào sẽ ko vào đc site B nữa á! Có bác nào biết làm không thông não em cách làm với ạ :)
Đơn giản mà bác có thể lưu IP truy cập của trang A vào database hoặc file text sau đó qua trang B đọc dữ liệu IP đó nếu IP truy cập hiện tại nằm trong tệp dữ liệu thì không cho truy cập
 
Đơn giản mà bác có thể lưu IP truy cập của trang A vào database hoặc file text sau đó qua trang B đọc dữ liệu IP đó nếu IP truy cập hiện tại nằm trong tệp dữ liệu thì không cho truy cập
Kiểu vậy đó ạ! Bác có thể hướng dẫn em làm đc ko với ạ
 
Vd bạn sử dụng PHP
Thì dùng 1 array để lưu IP truy cập
$visited_ips = []; // phần này sẽ thay đổi sau

Dùng hàm này (copy từ google) để lấy ip
PHP:
// Function to get the client IP address
function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}
$ip = get_client_ip();

Check IP đó có trong list hay ko bằng in_array($ip, $visited_ips). Nếu chưa thì:
  1. Lưu IP vào array trên
    $visited_ips[] = $ip;
  2. Ghi vào file để lần sau lôi ra xài lại (request sau)file_put_contents("ip.json",json_encode($visited_ips));
  3. Chuyển hướng đến web b
    header("Location: http://web-b.com/");
Vì vậy cũng cần code lấy array đã save từ lần trc ra xài (đổi dòng ở trên, dòng $visited_ips = [];)
$visited_ips = json_decode(file_get_contents('ip.json'), true);

Code hoàn chỉnh​

PHP:
<?php

$visited_ips = json_decode(file_get_contents('ip.json'), true);

function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}
$ip = get_client_ip();

if (!in_array($ip)) {
    $visited_ips[] = $ip;
    file_put_contents("ip.json",json_encode($visited_ips));
    header("Location: http://web-b.com/");
} else {
    echo "Ve di, m di 1 lan roi con di nua lam gi???";
}

Lưu ý: Code này chưa test đâu :D có lỗi gì comment mình giúp cho (sơ sơ thui, mình gà mờ)
 
Vd bạn sử dụng PHP
Thì dùng 1 array để lưu IP truy cập
$visited_ips = []; // phần này sẽ thay đổi sau

Dùng hàm này (copy từ google) để lấy ip
PHP:
// Function to get the client IP address
function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}
$ip = get_client_ip();

Check IP đó có trong list hay ko bằng in_array($ip, $visited_ips). Nếu chưa thì:
  1. Lưu IP vào array trên
    $visited_ips[] = $ip;
  2. Ghi vào file để lần sau lôi ra xài lại (request sau)file_put_contents("ip.json",json_encode($visited_ips));
  3. Chuyển hướng đến web b
    header("Location: http://web-b.com/");
Vì vậy cũng cần code lấy array đã save từ lần trc ra xài (đổi dòng ở trên, dòng $visited_ips = [];)
$visited_ips = json_decode(file_get_contents('ip.json'), true);

Code hoàn chỉnh​

PHP:
<?php

$visited_ips = json_decode(file_get_contents('ip.json'), true);

function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
       $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}
$ip = get_client_ip();

if (!in_array($ip)) {
    $visited_ips[] = $ip;
    file_put_contents("ip.json",json_encode($visited_ips));
    header("Location: http://web-b.com/");
} else {
    echo "Ve di, m di 1 lan roi con di nua lam gi???";
}

Lưu ý: Code này chưa test đâu :D có lỗi gì comment mình giúp cho (sơ sơ thui, mình gà mờ)
Vâng cám ơn bác! Để e ngâm cứu
 

Announcements

Today's birthdays

Forum statistics

Threads
418,363
Messages
7,070,584
Members
170,486
Latest member
Crypto8x

Most viewed of week

Most viewed of week

Back
Top Bottom