A reader-submitted PHP horror story showcases a 400+ line block of deeply nested, triple-duplicated code that fetches 'options', 'children', and 'siblings' from a database using string-concatenated queries, meta-programmed property access for localization, and a mountain of copy-pasted cost-formatting logic. The code is dissected line by line, highlighting SQL injection risk, dangerous dynamic property access, string-based date storage, and total absence of functions or abstraction despite three nearly identical nested blocks.
Source: https://thedailywtf.com/articles/the-big-family. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
Avada là một trong những theme WordPress phổ biến nhất, được sử dụng trên hơn 700.000 trang web với nhiều phiên bản khác nhau. Lỗi tồn tại trong hàm xử lý ajax của theme, cho phép kẻ tấn công không cần xác thực gửi request đặc biệt để kích hoạt hàm eval hoặc include động, từ đó thực thi mã PHP tùy ý trên server. Với một request duy nhất (zero-click), attacker có thể chiếm quyền kiểm soát hoàn chỉnh máy chủ, cài đặt backdoor, đánh cắp dữ liệu hoặc đưa trang web vào botnet. Nhà quản trị nên luôn cập nhật theme Avada lên phiên bản vá lỗi mới nhất (phiên bản 7.10.2 trở lên), tắt tính năng ajax không cần thiết và sử dụng tường lửa ứng dụng web để chặn các request đáng ngờ. Ngoài ra, kiểm tra mã nguồn theme và hạn chế quyền truy cập vào thư mục wp-content cũng giúp giảm thiểu rủi ro tương tự.
Lập trình viên nên đọc bài viết này để nhận biết lỗ hổng nghiêm trọng trong theme Avada có thể khai thác từ xa để thực thi mã PHP bất kỳ.
Trong PostgreSQL, các replica bất đồng bộ thường trả về dữ liệu cũ vì chúng chỉ áp dụng WAL sau một khoảng trễ, gây ra hiện tượng đọc không thấy bản ghi vừa ghi trên primary.
Phiên bản PostgreSQL 19 bổ sung lệnh WAIT FOR cho phép một truy vấn READ chỉ định vị trí WAL (log sequence number) mà nó muốn chờ trước khi trả về kết quả.
Khi lệnh được thực hiện, phiên bản server sẽ tạm dừng việc đọc cho đến khi WAL đã được replay tới vị trí đó trên replica, từ đó đảm bảo read‑your‑writes mà không cần chuyển sang synchronous replication hoặc tăng toàn bộ độ trễ hệ thống.
Điều đáng học: thay vì phải bật synchronous replication toàn cluster hoặc chịu đọc stale data, разработчики có thể sử dụng WAIT FOR cho các giao dịch cụ thể nơi cần nhất quán đọc‑ghi, tiết kiệm tài nguyên và kiểm soát độ trễ chi tiết.
Ví dụ thực tế, một lệnh như SELECT ... WAIT FOR LSN '0/3000000' sẽ chỉ trả về sau khi replica đã áp dụng WAL tới LSN đó, cho phép ứng dụng xác nhận ngay lập tức việc ghi vừa thực hiện trên primary mà không ảnh hưởng đến các truy vấn khác.
Bài này giúp lập trình viên hiểu cách sử dụng WAIT FOR trong PostgreSQL 19 để đảm bảo tính nhất quán read-your-writes trên bản sao bất đồng bộ.
ORMs vẫn cần thiết vì chúng cung cấp lớp trừu tượng an toàn, hiệu quả để tương tác với cơ sở dữ liệu, trong khi LLMs chỉ sinh code tiềm ẩn rủi ro lỗi, kém tối ưu và khó bảo trì. ORMs giúp chuẩn hóa truy vấn, tránh SQL injection và tối ưu hóa hiệu suất thông qua caching, điều mà code do LLM sinh ra khó đảm bảo.
Lập trình viên nên đọc bài này để hiểu cách ORM và SQL vẫn giữ vai trò quan trọng trong quản lý dữ liệu cơ bản, giúp tránh rủi ro lỗi và tối ưu hóa hiệu suất khi ứng dụng lớn cần kiểm soát trực tiếp dữ liệu.
Bài viết bắt đầu bằng việc tạo bảng comments với 1 triệu bản ghi trong PostgreSQL để đánh …
DuckDB phiên bản 2.0 dự kiến ra mắt vào mùa thu năm nay với nhiều tính năng mới nổi bật như hỗ trợ chạy dưới dạng server, triggers, kiểu dữ liệu VARIANT, I/O bất đồng bộ, SQL parser mới, định dạng lưu trữ cải tiến cùng nhiều cải tiến khác.
Lập trình viên cần đọc bài này để khám phá cách DuckDB v2.0 nâng cấp hiệu suất và tính linh hoạt cho các ứng dụng xử lý dữ liệu, từ việc chạy như một server đến hỗ trợ các tính năng mới như biến đổi dữ liệu trong SQL và lưu trữ hiệu quả hơn.
T-SQL đẹp mắt không đồng nghĩa với chính xác. Trong 30 năm qua, ngành công nghệ vẫn thường xem xét thẩm mỹ code như một bằng chứng pháp lý đáng tin cậy.
Lập trình viên nên đọc bài này để hiểu cách viết T-SQL đẹp mắt, hiệu quả và dễ đọc—một kỹ năng quan trọng giúp code dễ bảo trì, dễ debug và làm tăng hiệu suất làm việc trong nhóm.
AI code review đang là nút thắt thực sự và mọi người đều thừa nhận điều đó. Trong sơ đồ tổ chức, không có vị trí verifier hay bất kỳ khoản ngân sách nào dành cho việc này.
Lập trình viên nên đọc bài này vì nó cảnh báo về nguy cơ mất vị trí của những kỹ sư có kinh nghiệm trước sự phát triển nhanh chóng của AI, khi các công ty bỏ bỏ vai trò kiểm tra và đầu tư vào đội ngũ chuyên môn, khiến sự khác biệt giữa người mới và người giàu kinh nghiệm trở nên mờ nhạt.
OPcache trong PHP thường được gọi là cache nhưng thực tế nó không chỉ lưu trữ bytecode mà còn thực hiện chuỗi tối ưu hoá. Khi PHP biên dịch script, OPcache chèn mười lăm bước xử lý (passes) giữa trình biên dịch và trình thực thi để xây dựng lại bytecode. Những bước này bao gồm việc loại bỏ mã không dùng, gộp hằng số, tối ưu hoá vòng lặp và tái cấu trúc cây cú pháp. Nghiên cứu đo lường cho thấy chỉ một phần nhỏ bytecode sau các passes này còn sống sót vào thời gian chạy, phần lớn được thay đổi hoặc loại bỏ. Bài học là để hiểu hiệu suất PHP thực sự cần quan tâm đến các pass tối ưu hoá của OPcache chứ không chỉ dựa vào việc cache bytecode.
Để hiểu sâu hơn cách PHP tối ưu hoá bytecode và lợi ích thực tế của OPcache trong triển khai ứng dụng.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000+ DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try it