2012-09-24 35 views
6

Tôi có một tập lệnh PHP đang ngồi trên một máy chủ bị nhiều máy khác nhau tấn công vào các thời điểm khác nhau trong ngày dựa trên cronjobs được thiết lập mỗi máy. Tôi muốn biết địa chỉ IP của máy đưa ra yêu cầu và khi nó được thực hiện bởi một trình duyệt, sau đây thực hiện thành công:

<?php 
    ... 
    echo $_SERVER['REMOTE_ADDR']; 
    ... 
?> 

Tuy nhiên, khi thực hiện bằng CURL hay bất kỳ công cụ dòng lệnh khác tôi đã cố gắng sử dụng (bao gồm lynx), tôi kết thúc với thùng rác sau:

2701:5:4a80:7d:2ee:8eff:5e61:801d

từ cuộc điều tra tôi đã thực hiện, đây là một kết quả của Apache không populating biến $_SERVER cho các yêu cầu nhận được làm từ dòng lệnh.

REMOTE ADDR Issue with Cron Job

Bất cứ ai biết một cách để có được các yêu cầu dòng lệnh để chơi đẹp với biến $_SERVER hay tôi nên đi xuống con đường khác?

Trả lời

10

Đó không phải là rác, đó là địa chỉ từ xa chính xác. Ai đó đã sử dụng IPv6 để truy cập máy chủ của bạn.

+0

Lỗi của tôi: - \ Bất kỳ ý tưởng nào về cách nhận địa chỉ IPv4 được liên kết? – TMan

+0

@TMan, Không thể. IPv4 và IPv6 không nhất thiết phải liên quan đến nhau. – Brad

+0

@TMan, Xem câu trả lời của tôi ở đây: http://stackoverflow.com/a/12468102/362536 – Brad

Các vấn đề liên quan