PHP cURL có thể dùng IP của khách truy cập không?
Giải thích máy nào mở kết nối cURL phía máy chủ và proxy cần thay đổi gì trên tuyến đó.
Một khách truy cập nhấn nút. Máy chủ PHP của bạn gọi một API bên ngoài. API thấy kết nối đi ra của máy chủ, hoặc đầu ra của proxy được cấu hình cho kết nối đó. Trình duyệt của khách truy cập đang xử lý một kết nối riêng tới trang của bạn.
Sao chép địa chỉ của khách truy cập vào một header không thể chuyển kết nối PHP sang mạng của khách. Header là dữ liệu được gửi qua một kết nối đã được thiết lập. Đích đến có thể dùng một header chuyển tiếp đáng tin cậy trong logic ứng dụng của nó, nhưng điều đó không biến giá trị header thành địa chỉ nguồn của kết nối.
Một proxy phải chấp nhận kết nối
Để gửi PHP cURL qua một máy khác, máy đó phải cung cấp một dịch vụ proxy có thể truy cập được với quyền mang yêu cầu. Tiến trình PHP phải kết nối được tới nó. Phiên trình duyệt thông thường của khách truy cập không cung cấp cho máy chủ của bạn một điểm cuối proxy đa dụng như vậy.
Tùy chọn proxy của libcurl chọn dịch vụ mà cURL kết nối tới. Nó không thể yêu cầu một trình duyệt bất kỳ khởi tạo yêu cầu thay mặt nó.
Yêu cầu từ trình duyệt là một thiết kế khác
Với một số API, trình duyệt có thể gọi trực tiếp đích đến. Điều đó đặt yêu cầu trên đường mạng của người dùng, theo cấu hình proxy của chính họ. Nó cũng đòi hỏi một API được thiết kế cho ứng dụng trình duyệt. Truy cập khác nguồn tuân theo CORS, và thông tin xác thực gửi tới mã trình duyệt trở nên khả dụng cho ứng dụng đó.
Quyết định yêu cầu thuộc về đâu trước khi chọn tùy chọn proxy. Giữ thông tin xác thực máy chủ trên máy chủ; dùng tích hợp trình duyệt có tài liệu khi dịch vụ hỗ trợ. Không thiết kế nào đưa ra lối tắt đáng tin cậy để yêu cầu từ máy chủ kế thừa danh tính mạng của khách truy cập.