Làm thế nào có thể nhìn thấy / var / www của tôi với thế giới bên ngoài?


8

Tôi cho rằng đây là một câu hỏi giữ nhà nhiều hơn, nhưng ở đây nó đi.

Nếu tôi tạo một tập tin sao lưu của cuộc index.htmlgọi của tôi index.html.bak, có thể ai đó từ bên ngoài sử dụng httptrên máy chủ apache2 của tôi có thể liệt kê nội dung của /var/wwwthư mục của tôi không? Tôi hiện không biết phương pháp nào để làm việc này, nhưng điều này có thể là do tôi thiếu kinh nghiệm trong lĩnh vực này. Tôi có nên lưu trữ các tập tin không cần phải xem ở một nơi khác không?

Hiện tại, cách khả thi duy nhất tôi có thể nghĩ rằng ai đó có thể phát hiện ra tệp là nếu có một liên kết rõ ràng ở đâu đó chỉ vào tệp. Làm thế nào có thể nhìn thấy là thư mục web của tôi?

Câu trả lời:


11

Để trả lời trực tiếp câu hỏi của bạn - bạn có thể giữ các tệp như vậy ở nơi khác hoặc bạn có thể định cấu hình apache để từ chối quyền truy cập vào chúng - từ chối quyền truy cập vào * .bak tương đối đơn giản.

Apache, trừ khi được cấu hình không làm như vậy (như đã đề cập ở trên MH), sẽ tạo và hiển thị danh sách thư mục cho bất kỳ thư mục nào không chứa tệp chỉ mục - được xác định bởi chỉ thị Directory Index, nhưng thường là index.html, index.htmlm, index.php, và tương tự.

Trên một lưu ý chung hơn:

Bạn có thể muốn xem xét sử dụng hệ thống kiểm soát sửa đổi, chẳng hạn như SVN hoặc git (hoặc thậm chí RCS) để giữ các phiên bản cũ VÀ lịch sử thay đổi của các trang web của bạn (bao gồm khả năng xem những gì đã thay đổi và khi nào, và quan trọng hơn là khả năng trở lại phiên bản trước)

Cả git và svn đều cần một kho lưu trữ được thiết lập ở một nơi khác. RCS khá nguyên thủy và cơ bản nhưng không yêu cầu bất kỳ thiết lập nào, nó giữ lịch sử sửa đổi trong cùng một thư mục hoặc trong thư mục con ./RCS nếu tồn tại. Một phiền toái nhỏ với RCS là khi bạn đăng ký một tệp, nó sẽ thay đổi quyền thành chỉ đọc, do đó bạn phải kiểm tra lại trước khi bạn có thể chỉnh sửa lại (hoặc sử dụng ci -lđể đăng ký tệp và kiểm tra ngay nó ra).

IMO git có lẽ là quá mức cần thiết cho công việc này, SVN gần như lý tưởng về độ phức tạp so với khả năng quản lý lịch sử sửa đổi của một tập hợp các trang HTML được chỉnh sửa bằng tay và RCS là cổ xưa nhưng vẫn hữu ích. Với RCS, bạn chỉ có thể chỉnh sửa các tệp trực tiếp trong / var / www, điều đó có nghĩa là các thay đổi sẽ "trực tiếp" ngay khi bạn lưu tệp. Với svn hoặc git, bạn có thể kiểm tra một bản sao cục bộ, ví dụ: thư mục chính của bạn trên máy tính để bàn, chỉnh sửa các tệp, kiểm tra các thay đổi và sau đó kiểm tra các bản cập nhật vào / var / www trên máy chủ khi nó đã kết thúc. Trước tiên, bạn cũng có thể kiểm tra các thay đổi đối với máy chủ dàn để kiểm tra trước khi kiểm tra chúng trên máy chủ sản xuất.

Sau đó, bạn có thể từ chối quyền truy cập vào các thư mục con .svn /, .git /, RCS / etc với apache - ví dụ: xem /programming/398008/deny-access-to-svn- Folders-on-apache

Tất nhiên, sử dụng kiểm soát sửa đổi một cách hiệu quả sẽ mất một chút kỷ luật. bạn sẽ có thói quen kiểm tra các thay đổi của mình bất cứ khi nào bạn thực hiện chúng - thật đáng để nỗ lực.


15

Nếu bạn chỉ định Options -Indexescho Directorycâu hỏi, thì Apache sẽ không tạo danh sách thư mục. Tuy nhiên, nếu ai đó đoán tên tệp, họ vẫn có thể truy cập nếu hệ điều hành cho phép máy chủ web truy cập tệp.


5
Vâng Nếu bạn có thứ gì đó bạn không muốn phục vụ trên web, đừng giữ nó trong đó /var/www.
jscott

Đây là câu trả lời tốt nhất cho những tl;drngười có câu trả lời của Craig, mặc dù Craig là kỹ lưỡng hơn.
tacotuesday

@nonak Hãy bình chọn cả hai :)
jscott

Về chủ đề đoán, hãy đoán mất bao lâu để tìm thấy index.html.bak hoặc index.bak.html, v.v. Bất cứ điều gì rõ ràng không thực sự có cơ hội.
John Gardeniers

1
Máy tính làm đoán ngày nay. Vì vậy, đừng dựa vào sự tối nghĩa để bảo vệ bất cứ điều gì quan trọng. BTW, tôi nêu lên câu trả lời khác. :)
Michael Hampton

2

Nếu bạn đã bật danh sách thư mục thì tập tin đó chắc chắn sẽ hiển thị. Ngay cả khi danh sách thư mục không được bật, bạn không nên lưu tệp mà bạn không muốn ai đó xem trong / var / www vì nó được tạo cho các tài liệu công khai.


0

Tôi không thấy bất kỳ điểm nào trong việc giữ tập tin sao lưu /var/www.

Sao lưu được thực hiện để nhanh chóng sửa chữa mọi thứ khi bạn vặn chúng. Tôi khuyên bạn nên tạo một thư mục sao lưu mới, trong một số ổ đĩa lõi ( không thể truy cập được vào thế giới bên ngoài ) và lưu trữ các bản sao lưu của bạn ở đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.