Tổng kiểm tra php

Hàm md5[] trong PHP có chức năng mã hóa một chuỗi ký tự thành một chuỗi ký tự khác bao gồm có 32 ký tự với hàm băm [hash] mật mã học md5. Mỗi ký tự mã hóa được biểu diễn dưới dạng cơ số 16. Do đó, kích thước của chuỗi mã hóa trả về là 128 bit

Hàm hận md5 có đặc điểm là chỉ mã hóa một chiều, tức là không giải mã ngược được

2. Cú pháp của hàm md5[]

md5[string $string, bool $binary = false]: string

in which

    • $string . Kí tự chuỗi cần mã hóa có độ dài bất kỳ
    • $binary . tùy chọn, mặc định là false . Nếu đặt là true thì chuỗi mã hóa được trả về là chuỗi nhị phân đã mã hóa.
    • Kết quả trả về là chuỗi có 32 ký tự được biểu diễn dưới dạng hệ cơ số 16

3. Một số ví dụ sử dụng hàm md5[]

Mã hóa với $binary == false

$str = "gochocit.com";
$str = md5[$str];//82f994e3d08ae2fe4c7785e31b364454
//hoặc
$str = md5[$str, false];//82f994e3d08ae2fe4c7785e31b364454

Mã hóa với $binary == true

$str = "gochocit.com";
$str = md5[$str, true];// ����Њ��Lw�� 6DT

Check tra string md5 with command if

$str = 'apple';

if [md5[$str] === '1f3870be274f6c49b3e31a0c6728957f'] {
    echo "Would you like a green or red apple?";
}

Lưu ý . Không khuyến khích sử dụng hàm md5[] để tạo mật khẩu bảo mật. Tuy nhiên, không thể giải mã ngược một chuỗi ký tự đã được mã hóa md5. Nhưng có thể lưu trữ một cơ sở dữ liệu rất lớn bao gồm hàng triệu chuỗi ký tự và chuỗi mã hóa md5 của nó. Ví dụ như bảng bên dưới.

Chuỗi ký tựChuỗi mã hóa md512345678925f9e794323b453885f5181f1b624d0bapple1f3870be274f6c49b3e31a0c6728957fgochocit. com82f994e3d08ae2fe4c7785e31b364454……

Khi muốn giải mã chuỗi md5 thành 82f994e3d08ae2fe4c7785e31b364454thì chỉ cần truy xuất trong cơ sở dữ liệu này thì sẽ giải mã được chuỗi ký tự ban đầu

Đã có rất nhiều trang web sử dụng cách này để giải mã md5 như https. //md5decrypt. mạng/, https. //www. md5online. org/md5-giải mã. html,… Và chắc chắn rằng đã có rất nhiều cơ sở dữ liệu lưu trữ chuỗi mã hóa md5 như thế. Làm điều đó, Clear Clear Code Code Md5 không quá an toàn để sử dụng tài khoản bảo mật

Gần đây tôi gặp 1 tình cảm của khoai. Chuyện là nhiệm vụ yêu cầu làm 1 cái landing page bằng WordPress. Mọi chuyện chắc cũng bình thường nếu như tôi không phải là 1 thằng hoàn toàn không biết gì về WordPress

May sao, 1 em gái xinh xinh trong team có kinh nghiệm build theme WordPress trước đó. Mặc dù mã khả năng của em có giới hạn nhưng vẫn tin tưởng giao em xây dựng trang web này. Tự phụ với cái trình PHP tự vọc vạch chắc chắn cũng không có vấn đề gì về việc quản lý 1 trang web đã chạy

Nhưng mà đời thì không như mơ, demo chả sao, triển khai sản xuất 6h chiều 8h tối site bị hack tè le hột me. Khổ mất 1 phút rồi ngồi lại restone và chặn các hàm PHP nguy hiểm lại

Anh PM hôm sau, than trời nội dung vừa cả chiều hôm trước hôm sau chết hết. This time has been again not. Nói thật, bản thân mình cũng không đảm bảo trả lời. Đặt ra bài toán. Làm sao để kiểm soát được cái nguồn này đây?

Hóc môn 1

Về bản chất, WordPress là mã nguồn mở, nghĩa là mọi ngóc ngách, plugin của nó, đường dẫn tệp, thư mục, nội dung như nào đã là tơ hơ trên mạng rồi. Bản thân lại không có kinh nghiệm quản lý WordPress và CHMOD nó. Prestion system set up. Làm sao đảm bảo toàn được các file source-code mà không bị ai chê kể cả thằng đó là thằng dev cùng mình?

Sau vài đêm ôm gối nằm trong sự đề cao của các cao nhân, có vài cách khó đoán như sau

Quản lý tập tin dựa trên checkSum

Như anh đã biết, mỗi 1 file đều có 1 cái checkSum riêng biệt, cái hash này là duy nhất cho các file. Do đó, kịch bản có thể dự đoán như sau

  1. Xây dựng 1 lệnh quét toàn bộ tệp trong hệ thống [đương nhiên loại bỏ nguồn tệp]
  2. Tính toán checkSum của từng tệp. Cái này có đầy đủ thư viện [tham khảo. https. //www. php. net/thủ công/vi/chức năng. tệp md5. php]
  3. Tạo 1 cái SQLite DB -> chạy và chèn vào đây. Tập tin này cần cấp quyền chỉ đọc và không được ghi, không được xóa
  4. Viết 1 file checkSum. php đã hết hạn, định kỳ chạy tệp này, tính toán checkSum của từng tệp rồi so sánh với bản checkSum ban đầu -> ghi nhật ký

Đến đây thì coi như có công cụ giám sát rồi. Tuy nhiên thì nó vẫn chưa triệt để lắm. Thằng nào lên mã độc lên mây nguồn thì sao. Làm sao để quét cả tập tin bây giờ?

Nghĩ mất cả ngày. Tình cờ, thấy thằng VirusTotal cung cấp API, đủ tính năng. Chuyến ủ cứu mất trọn 3 tiếng trong lúc đã hết 1 gói mì hảo hảo chua cay. Bản ghi có vẻ ổn hơn

  1. Viết lệnh lấy danh sách tất cả các tệp [đệ quy] trong thư mc5
  2. Run the loop call to API scan and getReport of VirusTotal
  3. Phân tích response_code của API trả về. Nếu đã có kết quả -> kiểm tra thời gian cuối cùng của báo cáo. Hoặc nếu muốn, reScan luôn
  4. getReport từ báo cáo API của VirusTotal
  5. Get data from API Report -> check xem có thằng nào cảnh báo không -> gửi email đến system admin hoặc dev option
  6. Đặt cho hệ thống tự động chạy vào thời điểm ít người truy cập nhất
  7. Destination to results

Okay, đến đây có vẻ như đã build được 1 con monitor ngon lành rồi. Phần còn lại dưới đây là source-code full không che mà mình đã build thành 1 thư viện hoàn chỉnh, có thể dùng composer để build. https. // người đóng gói. org/gói/nguyenanhung/dr-virus

Cách hướng dẫn sử dụng được viết chi tiết trong các gói liên kết

nguyễn an hưng

- Quảng cáo -

Tản mạn

Giới thiệu một số công nghệ, dịch vụ mà Hura Apps đang sử dụng cho mô hình SaaS

Huỳnh Mai Anh Kiệt - 13/04/2022

Ứng dụng Hura là nhóm phát triển các ứng dụng web hỗ trợ cho nền tảng Shopify. Ứng dụng Hura hoạt động theo mô hình SaaS

Xem thêm

wordpress

Tùy chỉnh con trỏ chuột cho trang web WordPress của bạn với Hura Custom Cursors

Huỳnh Mai Anh Kiệt - 25/07/2021

Thời gian khu vui chơi ở nhà không biết làm gì nên viết thêm 1 plugin mới tên Hura Custom Cursors. Đây là plugin

Xem thêm

PHP-MySQL

Kiểm tra trình duyệt của khách phải là Safari bằng PHP

Huỳnh Mai Anh Kiệt - 19/03/2020

Hẹn rồi nhận điều khiển là Safari của Apple không hỗ trợ hiển thị ảnh WebP. Vì thế là cái plugin Hura Apps Photos

Chủ Đề