2009-03-27 59 views
6

Có thể phát hiện xem có yêu cầu đến được thực hiện thông qua máy chủ proxy không? Nếu ứng dụng web "cấm" người dùng qua địa chỉ IP, họ có thể bỏ qua điều này bằng cách sử dụng máy chủ proxy. Đó chỉ là một lý do để chặn các yêu cầu này. Làm thế nào điều này có thể đạt được?Làm cách nào để biết Yêu cầu đến từ Proxy?

Trả lời

6

IMHO không có cách nào 100% đáng tin cậy để đạt được điều này nhưng sự hiện diện của một trong các tiêu đề sau là một dấu hiệu mạnh mẽ rằng yêu cầu được chuyển từ một máy chủ proxy:

via: 
forwarded: 
x-forwarded-for: 
client-ip: 

Bạn cũng có thể tìm kiếm các proxy hoặc pxy trong tên miền của khách hàng.

0

Bạn có thể tìm kiếm các tiêu đề trong Yêu cầu đối tượng và phù hợp quyết định xem yêu cầu là thông qua một proxy/không

1) Via 2) X-Forwarded-For

lưu ý rằng đây không phải là một Bí quyết bắn 100% chắc chắn, tùy thuộc vào việc liệu các máy chủ proxy này có chọn thêm tiêu đề ở trên hay không.

7

Nếu máy chủ proxy được thiết lập đúng cách để tránh việc phát hiện máy chủ proxy, bạn sẽ không thể biết được.

Hầu hết các máy chủ proxy cung cấp tiêu đề như những người khác đề cập, nhưng những máy chủ này không có mặt trên proxy để ẩn hoàn toàn người dùng.

Bạn sẽ cần phải sử dụng một số phương pháp phát hiện, chẳng hạn như cookie, phát hiện tiêu đề proxy và có lẽ là chẩn đoán IP để phát hiện các tình huống như vậy. Hãy xem http://www.osix.net/modules/article/?id=765 để biết một số thông tin về tình huống này. Ngoài ra, hãy xem xét sử dụng danh sách đen proxy - chúng được xuất bản bởi nhiều tổ chức.

Tuy nhiên, không có gì chắc chắn là 100%. Bạn có thể sử dụng các chiến thuật trên để tránh các tình huống đơn giản nhất, nhưng vào cuối ngày, nó chỉ là một loạt các gói hình thành giao dịch TCP/IP và giao thức TCP/IP không được phát triển với các ý tưởng ngày nay về bảo mật, xác thực, v.v. Hãy nhớ rằng nhiều tập đoàn triển khai proxy công ty vì nhiều lý do khác nhau và nếu bạn chỉ chặn proxy như quy tắc chung, bạn nhất thiết phải giới hạn đối tượng của mình và điều đó có thể không phải lúc nào cũng mong muốn. Tuy nhiên, các proxy này thường tự thông báo với các tiêu đề thích hợp - bạn có thể sẽ chặn người dùng hợp pháp, thay vì người dùng giỏi ẩn mình.

-Adam

1

Đã làm một chút đào về vấn đề này sau khi tên miền của tôi đã tổ chức lên trên AppSpot.com của Google với các quảng cáo khiêu dâm Hardcore đẹp tiêm vào nó (nhờ Google).

Lấy một chiếc lá từ đây htaccess idea Tôi đang làm như sau, có vẻ như đang hoạt động. Tôi đã thêm một quy tắc cụ thể cho AppSpot, nó sẽ tiêm HTTP_X_APPENGINE_COUNTRY ServerVariable.

Dim varys As New List(Of String) 
    varys.Add("VIA") 
    varys.Add("FORWARDED") 
    varys.Add("USERAGENT_VIA") 
    varys.Add("X_FORWARDED_FOR") 
    varys.Add("PROXY_CONNECTION") 
    varys.Add("XPROXY_CONNECTION") 
    varys.Add("HTTP_PC_REMOTE_ADDR") 
    varys.Add("HTTP_CLIENT_IP") 
    varys.Add("HTTP_X_APPENGINE_COUNTRY") 
    For Each vary As String In varys 
     If Not String.IsNullOrEmpty(HttpContext.Current.Request.Headers(vary)) Then HttpContext.Current.Response.Redirect("http://www.your-real-domain.com") 
    Next 
Các vấn đề liên quan