Php kiểm tra địa chỉ ipv6

Php kiểm tra địa chỉ ipv6

DDos

Thành viên VIP

10/22/20135242. 184 bài viết

[PHP CODE] Lấy địa chỉ IP của người truy cập trang web

Php kiểm tra địa chỉ ipv6

  • DDos
  • 25/01/2016

Khi chúng ta truy cập vào bất kỳ trang web nào, hãy chắc chắn rằng địa chỉ IP công cộng đã được lưu lại trên máy chủ đó. Rất nhiều blogger sử dụng một plug-in cho phép hiển thị thông tin về IP của người đã ghé thăm blogger. Trong topic này, mình sẽ chia sẻ với các bạn một đoạn code PHP cho phép thu thập lại địa chỉ IP của bất kỳ ai khi họ ghé thăm trang web của mình

PHP


You set đoạn code on in your website. Khi đó, tất cả khách truy cập vào trang web của bạn, thì địa chỉ IP sẽ được ghi lại trong tệp ip. txt

Mình đang làm demo về cách làm, các bạn có thể theo dõi video dưới đây

[video=youtube;PvWUseo_lBA]https. //www. youtube. com/watch?v=PvWUseo_lBA[/video]

 

Thân mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày
Lưu ý từ WhiteHat. Kiến thức an ninh mạng để phòng chống, không làm xấu. lien quan lien quan

  • Php kiểm tra địa chỉ ipv6

    • ĐiệpNV88

Của bạn đây

function getRemoteIPAddress(){
    $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR']: '';
    return $ip;
}

/* If your visitor comes from proxy server you have use another function
to get a real IP address: */

function getRealIPAddress(){
    if(!empty($_SERVER['HTTP_CLIENT_IP'])){
        //check ip from share internet
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    }else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        //to check ip is pass from proxy
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }else{
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

 

Thân mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày
Lưu ý từ WhiteHat. Kiến thức an ninh mạng để phòng chống, không làm xấu. lien quan lien quan

  • Php kiểm tra địa chỉ ipv6

    • anplixfz

DiepNV88 đã viết

Của bạn đây

function getRemoteIPAddress(){
    $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR']: '';
    return $ip;
}

/* If your visitor comes from proxy server you have use another function
to get a real IP address: */

function getRealIPAddress(){
    if(!empty($_SERVER['HTTP_CLIENT_IP'])){
        //check ip from share internet
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    }else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
        //to check ip is pass from proxy
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }else{
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

Click to expand

Cho mình hỏi phần getRealIP có lấy được IP thật đã bị fake rồi không?

 

Thân mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày
Lưu ý từ WhiteHat. Kiến thức an ninh mạng để phòng chống, không làm xấu. lien quan lien quan

Bình luận

Php kiểm tra địa chỉ ipv6

  • DDos

anplixfz đã viết

Cho mình hỏi phần getRealIP có lấy được IP thật đã bị fake rồi không?

Click to expand

Not you nhé. Will only get Ip from the end of the request end to the page web thôi

 

Thân mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày
Lưu ý từ WhiteHat. Kiến thức an ninh mạng để phòng chống, không làm xấu. lien quan lien quan

  • Thích
Phản ứng. anplixfz

Bình luận

Tôi đang sử dụng Cân bằng tải đàn hồi (ELB) cho máy chủ web của mình và tôi có thể thấy địa chỉ IP của bộ cân bằng tải trong nhật ký truy cập máy chủ web. Thay vào đó, làm cách nào để nắm bắt địa chỉ IP của máy khách?

Mô tả ngắn

Nhật ký truy cập máy chủ web của bạn nắm bắt địa chỉ IP của bộ cân bằng tải vì bộ cân bằng tải thiết lập kết nối với các phiên bản của bạn. Để nắm bắt địa chỉ IP của máy khách trong nhật ký truy cập máy chủ web của bạn, hãy định cấu hình như sau

  • Đối với Cân bằng tải ứng dụng và Cân bằng tải cổ điển có trình xử lý HTTP/HTTPS, địa chỉ IP của máy khách sẽ được ghi lại. Sau đó, bạn có thể định cấu hình nhật ký truy cập máy chủ web của mình để ghi lại các địa chỉ IP này
  • Đối với Cân bằng tải cổ điển có trình xử lý TCP/SSL, hãy kích hoạt hỗ trợ Giao thức proxy trên Cân bằng tải cổ điển và ứng dụng đích. Đảm bảo định cấu hình hỗ trợ Giao thức proxy trên cả bộ cân bằng tải và ứng dụng
  • Đối với Bộ cân bằng tải mạng, hãy đăng ký mục tiêu của bạn theo ID phiên bản để nắm bắt địa chỉ IP của máy khách mà không cần cấu hình máy chủ web bổ sung. Để biết hướng dẫn, hãy xem thay vì các độ phân giải sau
  • Đối với Bộ cân bằng tải mạng khi bạn chỉ có thể đăng ký địa chỉ IP làm mục tiêu, trên bộ cân bằng tải. Để biết hướng dẫn, hãy xem thay vì các độ phân giải sau

Nghị quyết

Cân bằng tải ứng dụng và Cân bằng tải cổ điển với trình xử lý HTTP/HTTPS (Apache)

1. Mở tệp cấu hình Apache của bạn bằng trình soạn thảo văn bản. Vị trí thay đổi theo cấu hình, chẳng hạn như /etc/httpd/conf/httpd. conf cho Amazon Linux và RHEL hoặc /etc/apache2/apache2. conf cho Ubuntu

2. Trong phần LogFormat, thêm %{X-Forwarded-For}i, tương tự như sau

...
    LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    ...

3. Lưu các thay đổi của bạn

4. Tải lại dịch vụ Apache

Đối với hệ thống dựa trên Sysvinit, Debian (chẳng hạn như Ubuntu) và SUSE (chẳng hạn như SLES11), hãy chạy lệnh này

# /etc/init.d/apache2 reload

Đối với hệ thống dựa trên Sysvinit, RPM (chẳng hạn như RHEL 6 và Amazon Linux), ngoại trừ SUSE, hãy chạy lệnh này

# /etc/init.d/httpd reload

Đối với các hệ thống dựa trên Systemd, Debian (chẳng hạn như Ubuntu) và SUSE (chẳng hạn như SLES12), hãy chạy lệnh này

# systemctl reload apache2

Đối với các hệ thống dựa trên Systemd, RPM (chẳng hạn như RHEL 7 và Amazon Linux 2), ngoại trừ SUSE, hãy chạy lệnh này

5. Mở nhật ký truy cập máy chủ web Apache của bạn. Vị trí thay đổi theo cấu hình

6. Xác minh rằng các địa chỉ IP của máy khách hiện được ghi dưới tiêu đề X-Forwarded-For

Cân bằng tải ứng dụng và Cân bằng tải cổ điển với Trình xử lý HTTP/HTTPS (NGINX)

1. Mở tệp cấu hình NGINX của bạn bằng trình soạn thảo văn bản. Vị trí thường là /etc/nginx/nginx. conf

2. Trong phần LogFormat, thêm $http_x_forwarded_for, tương tự như sau

http {
    ...
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    ...
}

3. Lưu các thay đổi của bạn

4. Tải lại dịch vụ NGINX

Ví dụ: trên Amazon Linux 2 hoặc RHEL, hãy chạy lệnh này

Ghi chú. Lệnh tải lại dịch vụ NGINX khác trên các hệ thống khác. Các lệnh tải lại NGINX tương tự như các lệnh tải lại dịch vụ Apache ở phần trước