Xây dựng môi trường LNMP trên CentOS 7
I. Chuẩn bị
1. Cấu hình nguồn Yum
Đầu tiên, hãy đổi tên hoặc xóa các tệp cấu hình yum mặc định của hệ thống, sau đó tải hai tệp sau:
Alibaba Cloud: http://mirrors.aliyun.com/repo/Centos-7.repo
EPEL mở rộng: http://mirrors.aliyun.com/repo/epel-7
Sau khi tải xong, cần sử dụng lệnh để xóa bộ nhớ cache yum cũ và tạo bộ nhớ cache mới với tệp cấu hì ...
Đăng vào ngày 27 tháng 6 lúc 08:28
Xử lý ảnh nâng cao trong PHP: Thay đổi kích thước, cắt, chèn logo và áp dụng hiệu ứng hình ảnh
PHP cung cấp nhiều công cụ mạnh mẽ để xử lý ảnh động trong các ứng dụng web — từ tối ưu hóa hình ảnh người dùng đến tự động tạo banner hoặc thumbnail. Với sự hỗ trợ của các thư viện hiện đại, việc thực hiện các tác vụ như thay đổi kích thước thông minh, cắt ảnh theo vùng trọng tâm, chèn watermark dạng văn bản hoặc hình ảnh, hay áp dụng hiệu ứng ...
Đăng vào ngày 26 tháng 6 lúc 22:55
FastAdmin-T: Hướng dẫn cấu hình và tùy chỉnh nâng cao
FastAdmin-T là một khung ứng dụng quản trị dựa trên ThinkPHP, được tối ưu cho phát triển nhanh các hệ thống quản lý nội dung và nghiệp vụ. Dưới đây là tổng hợp các thao tác thiết lập quan trọng, đã được tái cấu trúc để đảm bảo tính rõ ràng, an toàn và tương thích với phiên bản PHP hiện đại.
Cấu hình cơ sở dữ liệu và ghi chú bảng
Để tăng tính m ...
Đăng vào ngày 26 tháng 6 lúc 17:57
Cơ bản về PHP và các vấn đề liên quan đến MySQL
Giới thiệu
Bài viết này sẽ giới thiệu ngắn gọn về các thư viện mở rộng MySQL trong PHP, thư viện MySQLi, việc thực thi SQL theo lô, kiểm soát giao dịch và các khái niệm liên quan.
Thư viện mở rộng MySQL
Dù thư viện MySQL trong PHP đã không còn được hỗ trợ từ phiên bản 5.6 trở lên do vấn đề bảo mật, nhưng việc hiểu rõ cách sử dụng vẫn rất cần ...
Đăng vào ngày 25 tháng 6 lúc 03:58
Hệ thống Xếp Hạng Người Dùng Sử Dụng Redis
Xếp hạng người dùng là một tính năng phổ biến trong nhiều ứng dụng. Việc sử dụng cấu trúc tập hợp sắp xếp của Redis để thực hiện chức năng này là lựa chọn hiệu quả và nhanh chóng.
Những bảng xếp hạng thường có tính thời gian, ví dụ như bảng xếp hạng điểm số người dùng. Nếu không có yếu tố thời gian, xếp hạng sẽ dựa trên tổng điểm số, khiến nhữ ...
Đăng vào ngày 23 tháng 6 lúc 08:45
Phân tích nguyên lý hoạt động và mã nguồn lỗ hổng XSS (Cross-Site Scripting)
Cross-Site Scripting (XSS) là một lỗ hổng bảo mật phổ biến trong các ứng dụng web, cho phép kẻ tấn công chèn các đoạn mã độc hại (thường là JavaScript) vào các trang web được người dùng tin tưởng. Khi nạn nhân truy cập vào trang bị nhiễm mã độc, trình duyệt sẽ thực thi đoạn mã này dưới quyền hạn của người dùng đó. Lỗ hổng này thường được chia t ...
Đăng vào ngày 22 tháng 6 lúc 20:48
Khai thác lỗ hổng kết hợp để lấy cờ trong bài CTF sử dụng PHP
Truy cập mục tiêu, hệ thống cung cấp đoạn mã nguồn sau:
<?php
$inputA = $_GET["a"];
$inputB = $_GET["b"];
$inputC = $_GET["c"];
if (isset($inputA) && file_get_contents($inputA) === "hello from zjctf") {
echo "<br><h1>" . file_get_contents($inputA) . "</h1><br>";
if (strpos($inputB, "flag") !== false) {
...
Đăng vào ngày 22 tháng 6 lúc 18:38
Xây dựng Hệ thống RPC với RabbitMQ và PHP
Giới thiệu về RPC
Trong bài hướng dẫn thứ hai, chúng ta đã học cách sử dụng hàng đợi công việc để phân phối các tác vụ tốn thời gian giữa nhiều worker.
Nhưng nếu chúng ta cần thực thi một hàm trên máy tính từ xa và chờ kết quả thì sao? Đó là một câu chuyện khác. Mô hình này thường được gọi là "gọi thủ tục từ xa" (RPC).
Trong hướng dẫn ...
Đăng vào ngày 21 tháng 6 lúc 02:50
Kiểm tra bảo mật PHP: Lỗ hổng do sử dụng hàm in_array() thiếu tham số kiểm tra kiểu
Hàm in_array() trong PHP là một công cụ phổ biến để kiểm tra sự tồn tại của giá trị trong mảng, nhưng việc bỏ qua tham số thứ ba — cờ kiểm tra kiểu — có thể dẫn đến lỗ hổng nghiêm trọng trong logic xác thực, đặc biệt khi xử lý dữ liệu người dùng không đáng tin cậy.
Vấn đề từ cơ chế so sánh yếu
Khi không truyền tham số thứ ba (mặc định là false ...
Đăng vào ngày 17 tháng 6 lúc 07:40
Cấu hình WebHook tự động cập nhật mã nguồn trên Gitee
Cấu hình tự động đồng bộ mã nguồn khi có thay đổi trên Git
Bước 1: Tạo file hook.php trên thư mục gốc của dự án trên server
<?php
// Đọc dữ liệu JSON từ yêu cầu webhook
$webhookData = json_decode(file_get_contents('php://input'), true);
// Kiểm tra xem có thay đổi thực sự không
if (isset($webhookData['ref']) && $webhookData['total_c ...
Đăng vào ngày 16 tháng 6 lúc 19:23