2009-10-13 42 views

Trả lời

21

Không, trừ khi

  • Có một sai máy chủ
  • Có một tiếng vang xấu/include đâu đó
+3

Bạn có thể đưa ra ví dụ về bao gồm hoặc phát âm không đúng không? – Mj1992

11

No. Trừ khi bạn đang lặp lại nó cho họ dưới nơi bạn đang thực sự sử dụng nó.

2

Nếu bạn đã webserver của bạn thiết lập để phục vụ thay vì phân tích cú pháp php bạn có. Nhưng sau đó các khách hàng sẽ không hoạt động. Vì vậy, việc chặn bất kỳ lỗ hổng bảo mật nào, câu trả lời là không.

3

Không, nhưng bạn nên thực hiện mọi biện pháp để ngăn chặn.

Bạn nên luôn đặt mã nhạy cảm (heck, tại sao không phải tất cả?) Trong thư mục bên dưới thư mục làm việc của máy chủ (nói/www), theo cách đó nếu máy chủ bị trục trặc, nó sẽ không thể hiển thị mã của bạn với thế giới bởi vì mã đó sẽ được bao gồm bởi php mà không phải là làm việc ở nơi đầu tiên.

6

Sử dụng bao gồm từ bên dưới hoặc bên ngoài thư mục được phục vụ www. (không thể +1 nhưng .. cho Frankie)

Không sử dụng liên kết tượng trưng cho thư mục http của bạn. Tôi đã cố ý sử dụng điều này để hiển thị cả hai nguồn và thực thi tùy thuộc vào đường dẫn yêu cầu người dùng trước đó, nhưng yêu cầu thay đổi httpd.conf (hoặc cấu hình sai) và rõ ràng có thể bị tắt trong httpd.conf.

Nếu cho phép tải xuống tệp bằng fopen, đừng chuyển bất kỳ thứ gì người dùng tạo ra hoặc họ có thể tìm ra cách để lấy tệp bất kỳ mà họ có thể tìm thấy. xem xét:

fopen('reports/' . $_GET['blah']); 

nơi người dùng đi trong '../index.php'

1

số Giả sử bạn đã cài đặt một L/máy chủ UAMP đúng cách, hoặc không được in ra (echo, print_r, vv) và sự can đảm của mã của bạn, PHP sẽ được xử lý và logic hoặc HTML nó có nghĩa là đầu ra sẽ được sử dụng trên trang, không hiển thị.

N.B. Nếu không có 'chỉ mục' trong một thư mục hoặc tệp .htacess thích hợp, máy chủ Apache sẽ hiển thị một danh sách các tệp trong thư mục, có thể được tải xuống và xem xét.

+0

Vâng, ngay cả khi bạn tải chúng xuống, điều duy nhất bạn sẽ thấy là HTML được tạo ra. Bạn sẽ không thấy mã PHP. – galdikas

0

Một sai lầm cho nó xảy ra là để dán thẻ php bên trong một chuỗi php, ví dụ:

$string = "This is the answer: <s><?php echo $answer; ?></s>"; 
echo $string; 

Người đã làm một tổ hợp phím Ctrl + C và Ctrl + V của cái gì đó nên được in dọc theo chuỗi , nhưng các coder quên để loại bỏ các thẻ php bằng cách phân tâm.

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