Như những người khác đã nói - không sử dụng FTP - có rất nhiều, rất nhiều điều sai với nó. OTOH, có lẽ bạn nên sử dụng một giao thức không yêu cầu người dùng cài đặt phần mềm phía máy khách bổ sung; Mặc dù truy cập dựa trên ssh (sftp, scp) sẽ là lý tưởng, các máy MSWindows không đi kèm với máy khách như là tiêu chuẩn.
Không có phần cuối của trình quản lý tệp có sẵn được viết bằng PHP (và có lẽ các ngôn ngữ khác cũng vậy). IIS thực hiện một số điều rất kỳ quặc với việc tạo các quyền NTLM - nhưng nếu bạn đang sử dụng Apache thì nó sẽ an toàn một cách hợp lý - tuy nhiên việc truy cập các ổ đĩa không đơn giản như chỉ đọc từ \ server \ username \ - bạn cần cho phép quyền quản trị máy chủ web trên các tệp này - nhưng đó là một cơn ác mộng bảo mật!
Cách tôi thực hiện (đối với một loại ứng dụng rất khác) là xử lý I / O thông qua smbclient bằng tên người dùng / mật khẩu từ phiên PHP của người dùng - nhưng đó là trên máy Linux - AFAIK, không có tương đương trên MSWindows.
Chắc chắn bạn sẽ muốn sử dụng thông tin đăng nhập do người dùng cung cấp để xác thực đối với bộ lưu trữ.
Điều này nhanh chóng trở nên phức tạp đáng sợ!
Vì vậy, một giải pháp thực tế sẽ là cho phép các sinh viên lập bản đồ các ổ đĩa trên internet. Bằng cách đó, bạn không cần phải lo lắng về các vấn đề phức tạp khi cung cấp trình quản lý tệp không phải là một phần không thể thiếu của hệ điều hành (tức là có thể truy cập trực tiếp từ các ứng dụng). Nhưng bạn không muốn để lộ máy chủ của mình cho bất cứ ai và mọi người. Cách thông thường để giải quyết vấn đề này sẽ là VPN - và có rất nhiều cái tốt và chi phí thấp có sẵn. Hoặc đơn giản là bọc dịch vụ trong SSL bằng xác thực chứng chỉ ứng dụng khách. Nhưng một lần nữa điều này đòi hỏi cài đặt phía khách hàng.
Vì thế.....
Làm thế nào về một biểu mẫu web để xác thực người dùng tại một địa chỉ IP, sau đó tạo ra một lỗ hổng giới hạn thời gian trong tường lửa để địa chỉ IP đó kết nối qua SMB (và tất nhiên họ vẫn cần cung cấp tên người dùng / mật khẩu để ánh xạ ổ đĩa) .