Làm cách nào để tìm tất cả các đầu vào sử dụng bộ lọc đầu vào php để vô hiệu hóa hoàn toàn mô-đun bộ lọc php?


10

Tôi muốn vô hiệu hóa mô-đun Bộ lọc PHP trên một trang web lớn, nhưng đi qua tất cả các nút, khối và các trường khác mà bạn có thể sử dụng bộ lọc php sẽ mất nhiều thời gian.

Có một cách đơn giản hoặc phương pháp nào có thể bằng cách chạy các truy vấn SQL để tìm ra nơi bộ lọc php được sử dụng trên khắp trang web của tôi không?

Câu trả lời:


9

Thay vì phát minh lại bánh xe, chỉ cần cài đặt mô-đun Đánh giá bảo mật , có kiểm tra sau:

PHP hoặc Javascript trong nội dung (các nút và nhận xét và trường trong Drupal 7)

Đối với các khối, bạn có thể kiểm tra cột định dạng trong bảng block_custom.

Cái khó nhất là Lượt xem - Tôi vẫn chưa tìm thấy một cách đáng tin cậy để định vị PHP lừa đảo trong Chế độ xem theo lập trình.


1
Tôi đoán rằng nếu những người đánh giá bảo mật không thể thêm một kiểm tra đáng tin cậy cho Lượt xem, thì đó có thể là điều tiếp theo không thể.
Mołot

@ Mołot: Chỉ cần tìm cách lấy lại lượt xem đã bật php, vui lòng xem câu trả lời của tôi bên dưới .. Thật tuyệt khi biết nó có bất kỳ nhược điểm hay trường hợp cạnh nào ...
Anil Sagar

1
Tất cả những gì tôi nhận được là "OK Người dùng không tin cậy không có quyền truy cập để sử dụng định dạng đầu vào PHP." - với phiên bản mới nhất. Nó làm tôi xanh khi tôi có một khối với định dạng đầu vào php trên trang trước . Câu trả lời của bạn dường như chỉ đơn giản là không đúng sự thật vào lúc này.
Mołot

Vì vậy, từ những gì tôi có thể nói ... Mô-đun đánh giá bảo mật cho bạn biết rằng bộ lọc php đang được sử dụng ... không phải chính xác những yếu tố nào đang sử dụng nó, mà trong một đánh giá bảo mật thực sự sẽ hữu ích. Tuy nhiên, đây là một cảnh báo tốt rằng cần phải điều tra thêm.
Tướng Redneck


7

Bạn có thể tìm thấy tất cả các chế độ xem có php được kích hoạt bằng cách chạy lệnh bên dưới trong MySQL ...

SELECT vv.name , vd.display_options
FROM views_display AS vd
LEFT JOIN views_view AS vv ON vv.vid = vd.vid
WHERE vd.display_options REGEXP '.s:[3]+:"php".*'

Bảng view_display lưu thông tin này ở định dạng nối tiếp .... Tôi đã kiểm tra truy vấn trên hoạt động như mong đợi .. Hy vọng nó sẽ giúp giải quyết các câu đố PHP riddle :-)


1
Có vẻ tốt. Sẽ cần phải kiểm tra nó một chút. Trong khi đó, tôi đã tự do chỉnh sửa và dọn dẹp cách bạn viết truy vấn (không cần chạm vào logic, tất nhiên là tên, v.v.).
Mołot

Cảm ơn bạn :-) Tôi vừa xác minh và tôi có thể thấy các chế độ xem đã bật php .. Chúng tôi hy vọng nó cũng hoạt động cho OP ..
Anil Sagar

1
Điều này không hoạt động đối với tất cả các chế độ xem (ví dụ: các chế độ được xác định trong mã) và regex đó có thể dễ dàng tạo ra các kết quả dương tính giả ... tốt hơn là không có gì mặc dù tôi đoán :)
Clive

Sử dụng phpmyadmin, bạn có thể dễ dàng tìm kiếm trên tất cả các cột của tất cả các bảng, tìm kiếm php và tự tìm kiếm các kết quả.
rooby

0

Mã từ Anil Sagar ở trên chỉ hoạt động nếu chế độ xem được lưu trong cơ sở dữ liệu. Nếu khung nhìn chỉ trong mã thì nó sẽ không hoạt động. Vì vậy, tôi đã viết một đoạn nhỏ mà tôi chạy để lưu tất cả các khung nhìn vào db. Sau đó, tôi có thể sử dụng đoạn mã MySQL để hiển thị php.

  $views = views_get_all_views();
  foreach ($views as $view) {
    if (empty($view->disabled)) {
      $view->save();
      drupal_set_message('view saved: ' . check_plain($view->name));
    }
  }

0

Câu hỏi cũ, nhưng là lần đầu tiên trên tìm kiếm Google của tôi.

Có một Mô-đun đóng góp được cho là để tìm tất cả các mục PHP:

Trình tìm kiếm PHP

Mô-đun 'Trình tìm kiếm PHP' được sử dụng để tìm nơi sử dụng định dạng bộ lọc PHP, cho dù trong nút, khối hoặc dạng xem.


PHP dùng trong Rules thì sao?
Pierre.Vriens
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.