Điểm:0

Tại sao máy chủ vô hiệu hóa fpassthru() của PHP?

lá cờ ru

Tôi đang làm việc trên một ứng dụng PHP sử dụng fpassthru chức năng tích hợp sẵn, đọc nội dung từ con trỏ tệp hoặc luồng và xuất chúng vào bộ đệm đầu ra. Nó rất giống với Đọc tài liệu chức năng, nhưng cho phép tôi bắt đầu đầu ra ở một độ lệch cụ thể.

Hầu hết các nhà cung cấp dịch vụ lưu trữ mà tôi đã thử nghiệm sản phẩm của mình đều hoạt động tốt và những nhà cung cấp này bao gồm môi trường lưu trữ nhiều bên thuê được chia sẻ. Tuy nhiên, tôi đã tìm thấy một số ít có fpassthru() chức năng "bị vô hiệu hóa vì lý do bảo mật". Tôi đã dành hàng giờ để nghiên cứu lý do tại sao ai đó sẽ vô hiệu hóa fpassthru chức năng, nhưng không phải chức năng như mở cửa, sợ hãi, file_get_contents, cũng như Đọc tài liệu, nhưng tôi thực sự không thể tìm thấy bất cứ điều gì hữu ích.

Điều này nghe có vẻ ngớ ngẩn, nhưng dự đoán gần nhất của tôi là các máy chủ này đã bị vô hiệu hóa fpassthru nhầm nó với đi qua, điều này thực sự đảm bảo việc vô hiệu hóa, đặc biệt là trong môi trường dùng chung. Có nói rằng, thực tế đi qua chức năng (cùng với giám đốc điều hành và phần còn lại của gia đình) cũng bị vô hiệu hóa trên các máy chủ này.

Tôi đã cố gắng liên hệ với những máy chủ này và hỏi họ tại sao.

Tôi không thể vượt qua doanh số bán hàng tại Flywheel, họ nói rằng họ không thể trả lời câu hỏi của tôi và chỉ có bộ phận hỗ trợ mới có thể. Và để liên hệ với bộ phận hỗ trợ, tôi phải trở thành khách hàng. Kinh điển.

RunCloud ban đầu có vẻ hứa hẹn hơn một chút, tôi đã đạt được "Kỹ sư hệ thống cấp 3" và phải mất thêm vài ngày nữa để đạt được "Sr. Systems Enginneer", người mà tôi nhận được tuyên bố sau:

đó là cách thực hành tốt nhất cho PHP trên RunCloud và đó là cách thực hành tốt nhất đối với chúng tôi

Tôi yêu cầu họ nói rõ hơn, nhưng lâu rồi không thấy hồi âm nên tôi hết hy vọng.

Chỉ cần làm rõ, tôi không tìm cách xung quanh fpassthru(). Tôi đang tìm lý do tại sao nó thỉnh thoảng được liệt kê bên cạnh các chức năng "nguy hiểm" như giám đốc điều hành (), hệ thống(), passthru(), pcntl_fork() và những người khác, trong khi có Đọc tài liệu(), file_get_contents(), v.v. hoạt động tốt.

Nếu bạn có bất kỳ hiểu biết, xin vui lòng chia sẻ!

lá cờ jp
bạn có thể muốn hỏi điều này trên https://security.stackexchange.com/
lá cờ cn
Điều gì xảy ra nếu bạn yêu cầu phần bù ngoài phạm vi tệp? Nó có đọc bộ nhớ tùy ý không?
lá cờ ru
@ shearn89 bạn không thể chỉ định rõ ràng phần bù trong fpassthru(). Nó đọc từ vị trí của con trỏ hiện tại tới EOF. Để thực sự bù đắp, bạn sẽ phải sử dụng fread() của fseek().
Điểm:1
lá cờ cn
Bob

Đừng đánh giá thấp sức mạnh của các lập trình viên và quản trị viên hệ thống sùng bái hàng hóa.

Các nhà cung cấp có thể đã gặp phải các sự cố cụ thể trong quá khứ yêu cầu vô hiệu hóa một chức năng cụ thể và đơn giản là tiếp tục làm như vậy cho đến ngày hôm nay, đơn giản chỉ vì công ty của họ “luôn luôn làm như vậy“. Và không ai đang làm việc ở đó bây giờ biết sự kiện lịch sử thực sự là lý do đằng sau điều đó.
Hãy để một mình nếu lý luận đó vẫn còn đúng ngày hôm nay.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.