Các giải pháp lập trình CSharp- P26: Các giải pháp lập trình C# khảo sát chiều rộng của thư viện lớp .NET Framework và cung cấp giải pháp cụ thể cho các vấn đề thường gặp. Mỗi giải pháp được trình bày theo dạng “vấn đề/giải pháp” một cách ngắn gọn và kèm theo là các ví dụ mẫu. | 251 Chương 7 và Web Form private void cmdUpload Click object sender e if Không file nào được chỉ định. No file specified. else try if 1048576 Cấm các file lớn hơn 1 megabyte. File is too large. else File được lưu vẫn giữ lại tên file gốc của nó. string fileName Tiến trình phải có quyền đối với vị trí nó thực hiện lưu file nếu không ngoại lệ access denied sẽ xảy ra. fileName File fileName uploaded. catch Exception err 252 Chương 7 và Web Form Hình Trang thử nghiệm upload file Bạn có thể kiểm tra các thuộc tính của file được chỉ định bao gồm kích thước của nó trước khi lưu để ngăn kiểu tấn công từ chối dịch vụ lừa ứng dụng để upload các file lớn làm đầy đĩa cứng . Tuy nhiên đoạn mã này không ngăn người dùng submit file ngay từ đầu điều này vẫn có thể làm chậm server và được sử dụng để mở một kiểu tấn công từ chối dịch vụ khác nắm lấy tất cả các tiểu trình thợ đang rảnh. Để ngăn chặn kiểu tấn công này bạn hãy sử dụng thẻ httpruntime trong file để chỉ định kích thước tối đa của file tính theo kilobyte xml version encoding utf-8 configuration httpRuntime maxRequestLength 4096 -- Bỏ qua các thiết lập khác. -- configuration Nếu bạn không chỉ định kích thước tối đa giá trị mặc định 4096 4 megabyte sẽ áp dụng. Nếu người dùng cung cấp một file quá lớn một ngoại lệ sẽ phát sinh ngay khi trang được post-back. Có một cách khác để gửi file từ client lên web-server là sử dụng dịch vụ Web XML . Bạn cần phát triển một ứng dụng dựa-trên- Windows cho phép người dùng chọn một file và rồi giao tiếp với một dịch vụ Web XML để chuyển giao thông tin. 253 Chương 7 và Web Form 8. sử dụng IIS authentication ỉ Bạn cần ngăn người dùng truy xuất các trang nào đó trừ khi họ đã được .