it-swarm-vi.com

Khuyến nghị mở rộng / công cụ để kiểm tra sửa đổi tập tin cốt lõi?

Khi cập nhật các trang web Joomla lên phiên bản mới nhất, tôi luôn có một sự hoảng loạn nhỏ trong trường hợp trang web tôi đang nâng cấp, được xây dựng bởi một số nhà phát triển giả mạo (ví dụ như tôi, 6 năm trước), đã xảy ra thay đổi tính năng ('hack') tập tin Joomla lõi.

Trong một thế giới lý tưởng, tôi có thể tránh được mạch vành tiềm năng này bằng cách có một phần mở rộng hoặc công cụ:

  • Biết tất cả các tệp Joomla cốt lõi có trong mỗi phiên bản Joomla
  • So sánh từng tệp trên cài đặt Joomla của tôi với các tệp nguồn Joomla chính trên Github hoặc bất cứ nơi nào (thậm chí giống như so sánh băm MD5)
  • Nếu chúng khác nhau, hãy khởi động một công cụ khác để tìm sự khác biệt và gắn cờ chúng để xem xét
  • Nếu chúng giống nhau, những thứ tuyệt vời, không cần hành động
  • Tạo một báo cáo ở cuối chi tiết kết quả của quá trình trên

Tôi đã tìm thấy tiện ích mở rộng này thực hiện hầu hết các mục trên, nhưng nó chưa được cập nhật kể từ J2.5.7 hoặc hoàn toàn dành cho J3.X - vì vậy, điều đó không còn nữa.

Tại công ty của tôi, chúng tôi sử dụng MyJ Joomla để thực hiện đầy đủ trang web 'kiểm toán' (một danh sách dài các hướng dẫn thực hành tốt nhất và các bản sửa lỗi cho các trang web Joomla) thỉnh thoảng, một phần trong đó là 'Tính toàn vẹn của các tệp lõi Kiểm tra'. Tuy nhiên, dịch vụ này có phí đăng ký hàng tháng và tất cả những gì tôi thực sự muốn kiểm tra là liệu có bất kỳ tệp nào đã bị hack trước khi thực hiện nâng cấp hay không.

Có ai biết giải pháp nào khác không? Ngoài ra từ 'không hack các tệp lõi' - cho đến gần đây, đôi khi không có cách nào khác để thực hiện một số tác vụ nhất định mà không cần thêm một số lượng lớn, thường không được trả tiền , công việc.

16
codinghands

Tôi không thể tưởng tượng một công cụ tốt hơn git . Đây là một công cụ tuyệt vời để theo dõi các thay đổi mà bạn thực hiện đối với mã (nếu bạn đang thực hiện), là hệ thống được Joomla sử dụng để đóng góp mã (đây là một điều tuyệt vời để làm) và đây là mục đích của nó!

Quy trình làm việc khá đơn giản và sẽ cho phép bạn khá lo lắng:

  1. Sao lưu trang web j Joomla của bạn (dù sao bạn cũng đang làm trước đây, phải không?)
  2. Thiết lập bản sao lưu cục bộ.
  3. Chạy git init trên thư mục gốc của bản sao cục bộ. Sau đó chạy git add --allgit commit. Điều này có một ảnh chụp nhanh của mã như bây giờ.
  4. Lấy bản vá phù hợp với phiên bản Joomla hiện tại của bạn.
  5. Cài đặt bản vá đó trên bản sao địa phương của bạn.
  6. Chạy git diff và bạn sẽ thấy một danh sách tất cả các khác biệt trong các tệp giữa những gì bạn đang chạy và các tệp cốt lõi.

Tôi nhận ra rằng đây là một câu trả lời khá "phát triển" và không phải ai cũng muốn sử dụng git trong dòng lệnh. Nếu bạn sử dụng GUI Git (chẳng hạn như máy khách của Github), bạn có thể bỏ qua bước cuối cùng, vì GUI sẽ tự động hiển thị cho bạn diff.

Cuối cùng, tôi khuyên bạn nên sử dụng phương pháp này vì cả hai đều dạy cho bạn một kỹ năng sẽ giúp ích nếu bạn viết mã và đóng góp cho Joomla và nó giữ tất cả các kiểm tra cục bộ, vì vậy bạn không phải lo lắng về việc chuyển mã của mình sang một trang web hoặc dịch vụ khác!

11
David Fritsch

Đây là phần mở rộng của câu trả lời của FFrewin. Akeeba cũng sản xuất một công cụ miễn phí có tên SiteDiff. Nó cho phép bạn so sánh 2 trang web đã được sao lưu với Akeebabackup (cũng có phiên bản miễn phí đó).

Để làm việc này, bạn sẽ phải có 2 bản sao lưu. Một bản sao lưu sẽ là của trang web của bạn (giả sử đó là phiên bản 2.5.19). Đối với bản sao lưu khác, bạn sẽ cần cài đặt một bản sao mới của Joomla 2.5.19 và sau đó tạo bản sao lưu của bản cài đặt đó. Tiếp theo so sánh hai bản sao lưu bằng công cụ SiteDiff.

Một vấn đề với phương pháp này là bạn sẽ có nhiều tệp trong bản sao lưu trang web của mình hơn là cài đặt mới. Các tệp bổ sung sẽ xuất hiện dưới dạng khác biệt, có thể gây khó khăn khi phân biệt các thay đổi cốt lõi so với phần còn lại của 'nhiễu'.

5
TryHarder

http://audit-fs.co.za/ có một công cụ miễn phí có tên Audit_FS cho thấy bạn đã sửa đổi các tệp Joomla và/hoặc có thể các tệp Joomla bị hỏng.

Là một công cụ bảo mật cơ bản Audit_FS được thiết kế để thực hiện kiểm tra chỉ các tệp Joomla! ® của bạn, cũng như, kiểm tra các quyền của tệp và thư mục của bạn. Nó không kiểm tra bất kỳ thay đổi hoặc hack trong hồ sơ cơ sở dữ liệu của bạn cũng như không kiểm tra bất kỳ tệp nào từ các tiện ích mở rộng mà bạn có thể đã cài đặt. Báo cáo kiểm toán cũng sẽ bỏ qua .htaccess, robot.xt, configure.php, configure.php-dist và Copyright.php.

3
Richard

Tôi không biết bất kỳ tiện ích mở rộng nào ngoài tiện ích mở rộng mà bạn đã đề cập, được dừng ở đâu đó trong J2.5.

Cách xử lý của tôi là sử dụng các ứng dụng máy tính để bàn để so sánh tệp/thư mục và tôi so sánh trang web đang đề cập với phiên bản j Joomla gốc của nó. Cá nhân tôi sử dụng DiffMerge trên mac.

Một tiện ích khác mà tôi biết có thể giúp bạn theo dõi các tệp bị hack/sửa đổi trên trang web của mình là Admin Tools pro. Nó cung cấp công cụ quét php. Nhưng thực tế, trang này dành cho các trang web bạn đã phát triển và quét sau khi khởi chạy và để giúp bạn khám phá bất kỳ tệp bị nhiễm nào sau khi hack.

2
FFrewin