Một nền nhỏ: Tôi có biểu mẫu trên trang web công khai cần đăng dữ liệu lên máy chủ apache phía sau tường lửa của tôi. Tôi không muốn cung cấp quyền truy cập trực tiếp vào webhost này từ internet.Đang chuyển hướng bài đăng biểu mẫu HTTP
Hiện tại đây là những gì tôi đang làm: Tôi có máy chủ IIS trong DMZ, máy chủ IIS này là IP duy nhất được phép truy cập máy chủ apache qua tường lửa. Là một giải pháp tạm thời, tôi thiết lập IIS với "Application Request Routing" để trình bày hộp Apache thông qua IIS tới internet.
* Tôi muốn làm gì: * Có cách nào đó để chụp và sau đó chuyển tiếp biểu mẫu mà không cần phải trình bày hộp Apache lên internet. Bí quyết ở đây là POST sẽ đến từ bất cứ đâu trên internet, được máy chủ IIS nắm lấy, và sau đó chuyển tiếp từ máy chủ IIS đến hộp apache. Tôi đã nhìn vào thực hiện điều này với PHP/cURL nhưng không chắc chắn nếu sử dụng một cái gì đó như thế này sẽ làm các trick:
<?php
$todo = "";
while (list($name, $value) = each($HTTP_POST_VARS)) {
$todo.=$name."=".$value."&";
}
$ch = curl_init('http://mylanserver/capture.php');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $todo);
curl_exec ($ch);
curl_close ($ch);
?>
Ai đó có thể chỉ cho tôi đi đúng hướng? Cảm ơn.
Bạn đang đi đúng hướng. Tôi sẽ làm như thế này: 1. Nhận yêu cầu thô 2. Chuyển tiếp nó vào máy chủ IIS. Hãy thử các câu hỏi sau: http://stackoverflow.com/questions/1361673/get-raw-post-data http://stackoverflow.com/questions/869927/php-difference-between-curl-and-httprequest – Brian
Có bạn có ý tưởng đúng. 'CURLOPT_POSTFIELDS' có thể đơn giản lấy mảng' $ _POST' trực tiếp, bạn không cần phải xây dựng chuỗi giá trị khóa. Ngoài ra bạn có thể muốn kiểm tra kết quả và sau đó hiển thị một số giải thích kết quả cho người dùng công cộng? 'curl_exec()' trả về phản hồi nếu bạn đặt 'CURLOPT_RETURNTRANSFER'. – MrCode
Ok, mã trên hoạt động bình thường, hầu hết các phần. Tôi có các trường trong biểu mẫu của tôi như "tên, điện thoại, email, mã zip" các trường đang được truyền chính xác. Về cơ bản, mọi thứ không có nhiều giá trị. Tôi có một số lĩnh vực bổ sung với các giá trị tiền tệ vv Khi những người được thông qua chương trình phụ trợ của tôi populates các lĩnh vực với "Array" tôi cần phải xác định một mảng cho mỗi lĩnh vực này? Không chắc chắn phải làm gì ở đây, đặc sản của tôi là Cắt & Dán. – jqapi