2009-08-17 52 views
14

Tôi chỉ tò mò muốn biết nếu có một lý do cụ thể tại sao .Net Framework thêm 'X-Powered-By: ASP.NET' Http Header trong phản ứng của nó? Các máy chủ web khác (Apache, httpd) có làm điều tương tự không?Tại sao ASP.NET framework thêm tiêu đề HTTP 'X-Powered-By: ASP.NET' trong các phản hồi?

EDIT: Tôi biết rằng nó có thể được thay đổi. Tôi muốn biết nếu có một lý do để giữ nó hoặc để nó như nó được?

Trả lời

17

Tôi biết rằng PHP thực hiện điều này. Tôi đoán rằng không có mục đích thực sự, ngoài việc tiếp thị và làm cho nó dễ dàng hơn cho các kiddies kịch bản để tìm các nạn nhân phù hợp. Đối với PHP, tốt hơn nên vô hiệu hóa cờ hoàn toàn vì nó hiển thị phiên bản PHP và do đó làm cho máy chủ dễ bị tấn công hơn.

Edit: Ai biết được, nó cũng có thể dẫn đến kết quả tìm kiếm tốt hơn trên bing ... ;-)

+3

Vì vậy, nó là một chương trình tự tin ;-) –

6

Nó là một tiêu đề tùy chỉnh mặc định khi sử dụng IIS. Nó là một thiết lập trong IIS, bạn có thể thay đổi nó nếu bạn muốn.

Sử dụng IIS6 -

  • Bấm vào tab HTTP Headers
  • Bạn có thể chỉnh sửa hoặc xóa tiêu đề trong Custom HTTP Headers hộp.
+0

Làm thế nào về chia sẻ lưu trữ? – dariol

0

Nếu "Tại sao" được sử dụng trong ngữ cảnh "cách thay đổi" - hãy truy cập thuộc tính IIS của trang web của bạn, mở tab "Tiêu đề HTTP" và sửa Tiêu đề HTTP tùy chỉnh.

4

Nó là khá phổ biến để xem chữ ký cho máy chủ/thực hiện động cơ gửi đi với các tiêu đề của một trang cho dù bạn đang chạy Apache và PHP hay IIS và ASP.NET. Chỉ cần hành động như một số công khai miễn phí, tôi giả sử.

+2

Công khai là chính xác _why_ nó ở đó. Một cái gì đó về công cụ tìm kiếm và số liệu thống kê nhưng tôi không nhớ.Nó sẽ là thú vị để tìm tổng số băng thông mà những tiêu đề nhỏ ngớ ngẩn, lãng phí tiêu thụ hơn, nói rằng, một năm. –

+4

@Bob Kaufman - Không nhiều so với sự thụt đầu ngớ ngẩn trong mã nguồn (đặc biệt là khi bốn không gian được sử dụng để thay cho một tab duy nhất) ... – Christian

+0

@Christian Sciberras - điểm tuyệt vời. Điều đó và javascript chưa được rút ngắn bao gồm và một số mã mở rộng khủng khiếp xảy ra với mã .aspx. –

1

Tomcat, Apache, WebSphere, JBoss, bạn đặt tên cho nó ..

Thận trọng, nó không thực sự là trường tiêu đề HTTP tiêu chuẩn.

5

Có thể có các trang web như Netcraft có thể thu thập số liệu thống kê cho số lượng máy chủ chạy IIS và ASP.NET. Điều này từng được coi là một điều quan trọng khi .NET được phát hành. Bằng cách nói rằng n số trang web bắt đầu sử dụng ASP.NET Microsoft có thể cung cấp số liệu cho các công ty chỉ áp dụng công nghệ dựa trên số lượng người dùng khác trên mạng.

Tôi không tin rằng có một lý do kỹ thuật mạnh mẽ để có nó kể từ khi một ứng dụng PHP có thể bắt chước một ứng dụng ASP.NET, bằng cách thiết lập cùng một tiêu đề trong Apache. Tôi có thể tưởng tượng một số ứng dụng khách hàng ngây thơ như FrontPage 2003, hoặc SharePoint Designer có thể sử dụng tiêu đề như thế này để xác nhận rằng họ đang thực sự kết nối với một trang web kích hoạt ASP.NET nhưng đó là suy đoán về phía tôi.

1

"X-Powered-By:" không phải là tiêu đề chuẩn, nhưng "Server: " là (và nó rõ ràng phục vụ cùng một mục đích).

Trong thế giới dịch vụ SaaS và Cloud, khung web là tài sản 'chiến lược', và mọi mảnh đất bất động sản nhỏ đều bị chinh phục ... đôi khi theo cách lừa đảo.

Các vấn đề liên quan