GyaanSetu PHP

PHP, Laravel và WordPress.

28 articlesDeep, practical knowledge

Chặn wp-cron.php tại máy chủ để tiết kiệm PHP workers và ngăn chặn tình trạng CPU tăng đột biến

Việc đặt DISABLE_WP_CRON = true chỉ ngăn WordPress thực hiện các yêu cầu loopback của chính nó; URL wp-cron.php vẫn có thể truy cập được và có thể bị kẻ tấn công tấn công dồn dập, làm cạn kiệt PHP workers và gây ra tình trạng từ chối dịch vụ trên các máy chủ dùng chung.

PHP · 4 min read

Bản vá InvoiceShelf khắc phục lỗ hổng điểm 8.7 cho phép bất kỳ Chủ sở hữu nào chiếm quyền điều khiển các khách thuê khác

Lỗ hổng này bắt nguồn từ cơ chế route-model binding của Laravel và việc thiếu kiểm tra phạm vi khách thuê (tenant-scope), cho phép một Chủ sở hữu yêu cầu bất kỳ ID người dùng nào và ghi đè thông tin xác thực, từ đó chuyển tài khoản của nạn nhân sang công ty của kẻ tấn công.

PHP · 2 min read

Dev Magento giảm 300 lần số lượng truy vấn DB, nhưng sản phẩm hết hàng lại 'biến mất'

Việc thay thế 300 lần gọi repository cho mỗi sản phẩm bằng một truy vấn collection duy nhất đã giúp cắt giảm đáng kể số lượng truy vấn, nhưng bộ lọc kho hàng tích hợp của Magento lại loại bỏ toàn bộ các SKU có số lượng bằng 0, khiến khách hàng chỉ thấy một danh mục sản phẩm không đầy đủ.

PHP · 3 min read

TrendVidStream chuyển từ JWT 30 ngày sang Refresh Token chỉ sử dụng một lần sau sự cố tấn công

Một SDK của đối tác đã lưu trữ JWT 30 ngày dưới dạng văn bản thuần túy, cho phép kẻ tấn công tái sử dụng từ nước ngoài. Sự cố này đã buộc TrendVidStream phải thay thế các JWT có thời hạn dài bằng các token truy cập 15 phút và refresh token chỉ sử dụng một lần, giúp kích hoạt việc thu hồi ngay lập tức nếu có dấu hiệu tái sử dụng.

PHP · 3 min read

Etcd giảm lỗi định tuyến video tại APAC xuống còn 1 giây, ngăn chặn tình trạng định tuyến sai Seoul-Tokyo

Bằng cách chuyển dữ liệu định tuyến đặc thù theo khu vực vào etcd thông qua các nguyên ngữ watch, lease và CAS, nền tảng hiện có thể đẩy các thay đổi đến cả tám bộ định tuyến chỉ trong khoảng một giây. Một sidecar Go nhỏ gọn sẽ ghi cấu hình vào bộ nhớ dùng chung, giúp PHP xử lý các yêu cầu với độ trễ đọc bằng không.

PHP · 4 min read

Cách Edge-Side Includes giúp giảm tải trang xu hướng từ 4.000 xuống còn <50 truy vấn mỗi phút

Nhóm đã chia trang chủ thành ba phần—lưới video, bộ chuyển đổi ngôn ngữ và thanh tiêu đề trực tiếp—bằng cách sử dụng TTL của Varnish là 60 giây, 24 giờ và không lưu bộ nhớ đệm, loại bỏ cookie khỏi các phần ẩn danh, đồng thời tận dụng surrogate keys để thực hiện xóa bộ nhớ đệm tức thì.

PHP · 3 min read

Nền tảng video thay thế SQLite FTS5 bằng OpenSearch để giảm số lượng kết quả tìm kiếm trống xuống gấp 10 lần

Đội ngũ kỹ thuật vẫn giữ SQLite làm kho lưu trữ dữ liệu gốc và xây dựng một bản sao OpenSearch chỉ đọc với các lớp phân cấp mức độ liên quan cùng các thiết lập tìm kiếm mờ (fuzzy) đã được tinh chỉnh, giúp giảm số lượng kết quả trống xuống gấp 10 lần mà vẫn duy trì độ trễ trung vị dưới 28 ms.

PHP · 3 min read

Nếu bạn cài đặt một plugin “Last Login” và đột nhiên màn hình Người dùng WordPress của bạn trông có vẻ ngăn nắp, thì sự ngăn nắp đó đang lừa dối

Nếu bạn cài đặt một plugin “Last Login” và đột nhiên màn hình Người dùng WordPress của bạn trông có vẻ ngăn nắp, thì sự ngăn nắp đó đang lừa dối bạn. Các ngày tháng trông có vẻ đáng tin cậy. Bạn có thể sắp xếp chúng. Th…

PHP · 4 min read

Quá trình hydration đối tượng có vẻ như là một vấn đề đã được giải quyết cho đến khi bạn đo lường nó. Bạn lấy một hàng từ cơ sở dữ liệu, bạn ánh xạ mảng

Quá trình hydration đối tượng có vẻ như là một vấn đề đã được giải quyết cho đến khi bạn đo lường nó. Bạn lấy một hàng từ cơ sở dữ liệu, bạn ánh xạ mảng đó thành một đối tượng, và tiếp tục công việc. Hầu hết chúng ta đều coi nó là một việc hiển nhiên...

PHP · 5 min read

Tự động hóa tiếp thị mã nguồn mở không nhất thiết phải đồng nghĩa với việc giao dữ liệu của bạn cho một nhà cung cấp SaaS. Mautic đưa các chiến dịch email

Tự động hóa tiếp thị mã nguồn mở không nhất thiết phải đồng nghĩa với việc giao dữ liệu của bạn cho một nhà cung cấp SaaS. Mautic đưa các chiến dịch email, theo dõi liên hệ và nuôi dưỡng khách hàng tiềm năng về ngay tại hạ tầng của chính bạn.…

PHP · 5 min read

PHP bổ sung API Polling gốc, mang lại tốc độ cấp hệ điều hành cho Fibers

API Polling vừa được hợp nhất sẽ bao bọc epoll, kqueue và IOCP, cho phép vòng lặp sự kiện tiếp tục các fibers chỉ với một lời gọi hệ thống duy nhất. Các kết quả đo kiểm cho thấy chi phí xử lý đồng thời giảm xuống bằng không và mức sử dụng CPU vẫn duy trì ổn định ngay cả khi có hàng chục luồng dữ liệu.

PHP · 3 min read

Optistream hợp nhất 12 plugin WordPress thành một mà không làm mất SEO trên 1.000 trang

Nhóm đã xây dựng một bộ nạp bootstrap nhỏ, giới hạn phạm vi toàn bộ CSS, giữ nguyên các meta key và kiểm tra kỹ lưỡng mọi URL bằng danh sách kiểm tra nghiêm ngặt sau mỗi lần thay đổi module—đảm bảo không xảy ra tình trạng sụt giảm trạng thái 200, lỗi liên kết hay lỗi hiển thị giao diện.

PHP · 4 min read