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
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.
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.
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
Đã 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
- 1. Làm cách nào để đảm bảo yêu cầu đến từ trang web của tôi?
- 2. Làm cách nào để yêu cầu playframework sử dụng proxy công ty của tôi?
- 3. Làm cách nào để yêu cầu AJAX proxy với Rack Middleware?
- 4. PowerShell, Yêu cầu Web và Proxy
- 5. Làm thế nào để biết một yêu cầu HTTP là từ Ajax?
- 6. Cách biết Yêu cầu HTTP là BOT
- 7. Cách gửi yêu cầu đến "j_spring_security_check" từ bộ điều khiển
- 8. JSP/Servlet Cách xác định xem yêu cầu HTTP đến từ yêu cầu ajax
- 9. Làm cách nào để biết jQuery có yêu cầu Ajax đang chờ xử lý không?
- 10. Làm cách nào để yêu cầu Bootstrap Carousel đi đến một chỉ mục cụ thể?
- 11. Làm thế nào để yêu cầu HTTP thông qua proxy vớ (tor) bằng python?
- 12. Làm cách nào để truy cập các tiêu đề của yêu cầu đến trong tritium?
- 13. Làm thế nào để biết nếu yêu cầu là ajax trong asp.net trong Application_Error()
- 14. Làm cách nào để yêu cầu Xác thực yêu cầu bị vô hiệu hóa cho HttpHandlers?
- 15. Làm thế nào để vượt qua proxy-xác thực (yêu cầu tiêu hóa auth) bằng cách sử dụng mô-đun yêu cầu python
- 16. Làm cách nào để đẩy yêu cầu kéo trên github?
- 17. Làm cách nào để tạo tham số WebMethod yêu cầu
- 18. Làm cách nào để gửi yêu cầu GET từ ứng dụng bình của tôi đến một trang web khác?
- 19. Làm cách nào để xác thực yêu cầu WebClient?
- 20. làm thế nào để biết nếu yêu cầu là ajax trong asp.net MVC?
- 21. Caching Proxy với REST đã xác thực yêu cầu
- 22. Làm cách nào để truy xuất lớp proxy từ lớp proxy?
- 23. cách hủy yêu cầu json khi gửi yêu cầu jsonrequest mới đến máy chủ
- 24. Làm thế nào để có được URL trang trước từ yêu cầu trong servlet sau dispatcher.forward (yêu cầu, phản ứng)
- 25. Gửi yêu cầu POST từ Cocoa đến Tumblr
- 26. Cách biết yêu cầu là http hoặc https trong node.js
- 27. Proxy nginx mọi hoạt động đến nginx từ xa
- 28. Độ trễ yêu cầu đối tượng từ S3 đến EC2
- 29. Làm thế nào để biết nếu có bất kỳ yêu cầu Ajax và ajax Success
- 30. Làm cách nào để yêu cầu các trang từ trang web sử dụng OpenID?