Block traffic bẩn, spam bot

Cách dùng 1. Install lần đầu 2. Check status 3. Update rules sau này (khi sửa logic) 4. Rollback hoàn toàn Ưu điểm thiết kế này Feature Benefit Single binary /usr/local/bin Gọi từ bất kỳ đâu Short alias i/s/u/rm Gõ nhanh Auto backup trước install An toàn Update command Sửa rule không cần remove/install Status check Biết site nào đã … Xem thêm

Tailwind

✅ BẢNG CLASS TAILWIND PHỔ BIẾN (CÓ GHI CHÚ CHI TIẾT) Mục đích Class ví dụ Ghi chú cụ thể 🎨 Màu chữ text-gray-900text-blue-500 Màu chữ theo hệ thống màu của Tailwind. gray-900 là gần đen. blue-500 là màu trung bình. 🎨 Màu nền bg-whitebg-blue-200 Màu nền (background). bg-blue-200 là xanh nhạt, số càng cao màu càng đậm. 🅰️ Font … Xem thêm

Toàn bộ về Nextjs

1. Cài Nextjs & chuẩn bị 1.1 Cài đặt Tạo Dockerfile mới 1. 2. Lỗi ko reload Thử sửa lại package.json trong Nextjs 1.3. Thay đổi port cho đỡ trùng ports:– “4000:4000” EXPOSE 4000 1.4 Cài đặt Richtext Lexical Cần cài đặt thư viện này để đọc được field Richtext Cách dùng 2. Code trang động

Tất cả về Playload

Luôn nhớ 1. Cài plugin thư viện cần thiết Cài nhanh thư viện cần thiết 1. Soạn thảo Lexical 2. Thêm luôn plugin SEO Cài như trên, sau đó thêm lệnh sau vào payload.config.ts nhớ import 3. Nested docs Đại loại là parent child cho Category và Page. Tạm được 4. Search Plugin Đại loại nó sẽ cho tìm kiếm … Xem thêm

Tất cả về Medusa

1. Thay đổi đường dẫn đăng nhập Cần phải thay đổi đường dẫn đăng nhập, vì sau này sẽ bị trùng đường dẫn /app với /app của Docker 2. Lấy token Phải lấy token để sau này còn get API custom. Chủ yếu để fetch bên ngoài như postman hoặc gọi giữa các link khác nhau Nhớ thay email và … Xem thêm

Cài đặt Medusa + Payload + Postgres + Redis

1. Khởi tạo ban đầu cài PostGres và Redis 1.1 Tạo các file cần thiết Ban đầu chỉ tạo Postgres với Redis thôi. Postgres thì sẽ tạo Database trắng tên là postgres docker-compose.yml .env 1.2 Phải tạo database cho payload/medusa trước Có thể tạo bằng tool hoặc. Tạo bằng psql (phải cài postgresql-client) Dùng Docker 2. Cài Payload CMS (cms) … Xem thêm

💥 Postgres Các trường hợp MẤT HOÀN TOÀN dữ liệu table:

🔴 HIGH RISK – Drop toàn bộ table: 1. Đổi collection slug: typescript 2. Thay đổi field type incompatible: typescript 3. Thay đổi localization config: typescript 4. Thay đổi relationship structure: typescript 🟡 MEDIUM RISK – Có thể mất data: 5. Required field không có default: typescript 6. Migration conflicts: typescript 7. Database constraint violations: typescript ✅ SAFE – Không … Xem thêm

Tạo Quiz

1. Tạo file 1.1 Tạo component 1.2 Tạo collection

Mọi thứ về Strapi

1. Cài plugin Vào Marketplace của Strapi Copy install command -> paste vào terminal Docker. Nhớ truy cập đường dẫn của strapi Một số plugin thông dụng Active plugin Sửa ./config/plugins.js Truy cập package.json và xem plugin tên gì, sau đó: Restart lại docker Kiểm tra log 2. Tạo post type, tax, Menu Có thể tạo thủ công hoặc tự … Xem thêm

Nâng cấp strapi

1. Sửa Dockerfile: Từ: FROM node:18-slim Thành: FROM node:22-slim ✅ Hoặc nếu bạn cần full môi trường build (có Python, build tool): FROM node:22-slimRUN apt-get update && apt-get install -y \ python3 \ make \ g++ \ && rm -rf /var/lib/apt/lists/* 2. Build lại image:

Nâng cấp Postgress SQL

BƯỚC 1: Backup dữ liệu từ PostgreSQL 15 BƯỚC 2: Dừng toàn bộ container docker-compose down BƯỚC 3: Sửa docker-compose.yml Mở file docker-compose.yml và sửa dòng: image: postgres:15-alpine 👉 thành: image: postgres:17-alpine Nếu bạn muốn giữ dữ liệu cũ nguyên vẹn, đổi tên volume để tạo volume mới như sau: Trước: volumes: – strapi_db_data:/var/lib/postgresql/data Sau: volumes: – strapi_db_data_v17:/var/lib/postgresql/data Và ở … Xem thêm

Nextjs + Strapi + PostgreSQL + pdAdmin + Redis

Truy cập nhanh Next.js Frontend: http://localhost:3000 Strapi Backend: http://localhost:1337 pgAdmin: http://localhost:8080 PostgreSQL: localhost:5432 1: Cài Docker 2: Tạo folder 2.1 📁 Cấu trúc thư mục nên như sau: D:\website\demo├── docker-compose.yml ← ⚙️ Quản lý toàn bộ stack (Strapi, DB, frontend…)├── .env ← 🔐 Biến môi trường dùng chung cho các dịch vụ├── strapi-backend ← 🧠 Strapi project (NodeJS)│ ├── Dockerfile│ … Xem thêm

Hướng dẫn liên kết AMP với CloudFlare

1. Truy cập R2 CloudFlare và tạo storage Nhớ vào Public access và chọn domain cho amp 2. Truy cập Computer (Workers) tạo app mới a) Thêm app Nhớ thay thế bukerUrl, mainDomain, defaultPage Worker nâng cao, lấy dữ liệu từ trang /index về home b) Cài đặt Vào settings Vào domain dùng làm website amp -> Workers Routers -> … Xem thêm

Kiểm tra cpu gửi tới telegram

1. Tạo bot trên telegram để lấy token và id Sau đó ấn vào bot mới để tạo cuộc trò chuyện. Tiếp theo để lấy chat_id ta truy cập đường dẫn sau:

Giới hạn cpu cho các tiến trình

Bước 1: Cài đặt cpulimit Bước 2: Tạo Script Giới Hạn CPU Bước 3: Tạo Dịch Vụ Systemd Bước 4: Kích Hoạt và Chạy Dịch Vụ Bước 5: Kiểm Tra Hoạt Động Kết Luận Bạn đã hoàn thành việc cài đặt và cấu hình cpulimit để giới hạn CPU cho các tiến trình lsphp. Nếu bạn cần dừng dịch vụ, … Xem thêm

Tất cả vê wptangtoc OLS

Thêm restart server Truy cập /etc/wptt/db vào restart-auto-mariadb.sh thêm dòng sau vào dưới systemctl restart mariadb.service

DDOS Nâng cao

1. Chuẩn bị a. Cài python và thư viện Xem bản mới ở đây: https://www.python.org/downloads/ Cho almalinux Cho Ubuntu b. Kiểm tra thời gian Cho almaLinux Cho ubuntu 2. Cài thư viện cần thiết Thư viện đã được lưu trong requirements.txt

Thêm Active vào plugin

1. Phía Server 2. Phía Client a) Thêm trang để nhập active Nên tạo 1 folder activate để lưu 2 tệp là activate-check.php và activate-page.php b) Gọi nó ra

AMP cơ bản

Bước 1: Cài đặt OpenSSL Bước 2: Tạo khóa RSA Bước 3: Đặt khóa công khai vào vị trí cố định Kiểm tra amp https://www.amp-cloud.de/amp-page-checker/amp-cache-check.php?hl=vi

Danh mục amp

301 cao cấp

1. Redirect link cũ sang link mới 2. Redirect trang chủ cũ về trang chủ mới 3. Redirect các trang còn lại về chính trang đó Lưu ý: Redirect trang chủ về trang chủ phải được ưu tiên trên cùng 4. Dùng htaccess Sau đó dùng lệnh sudo systemctl restart apache2 để cập nhập. Hoặc systemctl restart lsws

Chống DDOS

Công thức excel lấy ra class C: =A1&”.”&B1&”.”&C1 1. Vào log kiểm tra 1.1 Chặn những IP truy vấn vào search (?s=) Vào htaccess thêm lệnh Dùng lệnh này thì nó sẽ 403 trong file log, tiếp tục dùng lệnh để chỉ lấy ra IP bị 403 này 1.2 Lấy ra các request truy cập được, để kiểm tra 2. … Xem thêm

Thêm ssl / Thay đổi domain / 301 cho website chạy IP (openlitespeed)

1. Chọn Openlitespeed wordpress tại nhà cung cấp VPS 2. Truy cập ZeroSSL và cấp IP 3. Cài SSL trên vps 3.1 Giải nén file vừa tải và đưa vào /usr/local/lsws/conf/ Phân quyền lại tệp, copy từng dòng Cài zip: sudo apt-get install zip 3.2 Setting SSL A. Dùng lệnh Truy cập vào /usr/local/lsws/conf/httpd_config.conf. Tìm tới listener wordpressssl Nhớ restart … Xem thêm

Openlitespeed, htaccess, myadmin, ubuntu trên VPS

1. Cài đặt Nếu chưa có OpenLiteSpeed WordPress One-Click thì cài 2. phpMyAdmin 3. Web Server Control Panel Access (Openlitespeed) 4. Thêm htaccess Thêm lệnh vào .htaccess trên web hoặc trong WebServer: Virtual Hosts -> Chọn web -> Rewrite -> Rewrite Rules (chỉnh sửa) -> Chọn biểu tượng restart lại litespeed server Lưu ý: Có thể phải xóa plugin litespeed … Xem thêm

Bảo mật CloudFlare

1. Chặn request nhiều Nếu xài Cloudflare thì có thể set rate limit hễ cùng ip mà trong 10s request 10 lần thì block ip. Có thể cài rate limit full website (http.request.uri.path contains “”) hoặc chỉ một số url như (http.request.uri.path contains “admin-ajax.php”) or (http.request.uri.path contains “wp-json”) (http.request.uri.path contains “xmlrpc.php”) (http.request.uri.path contains “wp-login.php”) 2. Chặn theo nước a) Mở … Xem thêm

Tạo proxy từ VPS

1. Cài Squid Proxy 2. Cấu hình Squid 3. Mở port nếu bị đóng Check port tại https://www.yougetsignal.com/tools/open-ports/ (phải khởi động Squid mới check được) 4. Khởi động lại Squid 5. Kiểm tra Squid 6. Sử dụng Squid Proxy 7. Fix lỗi

Cài đặt NodeJs và Cloudcmd

1. Cài đặt Nodejs và NPM 2. Cài Cloudcmd https://cloudcmd.io/ 3. Mở port cho Cloudcmd 4. Thêm bảo mật và phím tắt cho Cloudcmd 5. Ví dụ file bashrc

1. Cài đặt Java + Selenium Server + Chrome + Chrome Driver

1. Cài java Truy cập https://www.oracle.com/java/technologies/java-se-glance.html để kiểm tra phiên bản java mới nhất. 2. Cài đặt Google Chrome Chọn đúng phiên bản ở đây 3. Cài đặt ChromeDriver Nhớ kiểm tra phiên bản google-chrome –version bên trên để chọn cho đúng. Truy cập: https://sites.google.com/chromium.org/driver/downloads lựa chọn phiên bản phù hợp với Google Chrome phía trên. Hoặc https://googlechromelabs.github.io/chrome-for-testing/#stable 4. Cài … Xem thêm

Tối ưu tổng thể Cache (Opcache, Object Cache), Mysql, Php

1. Tăng Memory Ram cho php Nếu không tìm thấy thì truy cập vào /etc/php/8.1/fpm/pool.d/tenwebsite.conf (8.1 là phiên bản php đang sử dụng) 2. Cài Zend Opcache Ghi chú: Nhớ bỏ ; đằng trước thì mới hoạt động Nhớ bỏ dấu ; đằng trước 3. Cài Redis 4. Cài Memcached 5. Mysql 6. Sửa wp-config.php thành 7. Tăng dung lượng … Xem thêm

1. [Danh mục bài viết] Liên kết các danh mục đa ngôn ngữ

1. Cài Polylang Pro Vào phần page/post. Tích các page/post rồi chọn chức năng Translate. Chọn các ngôn ngữ cần dịch và ấn Oke 2. Thêm lệnh sau vào function 2. Cài WP Crontrol Cài plugin này để cho chạy Cron cho đỡ quá tải Chỉ cần thêm insertAllCategory(”); là chạy được hết. Là để biến rỗng

3. [Dịch menu] Đa ngôn ngữ

1. Tải plugin Duplicate Menu Dùng để nhân đôi menu sang ngôn ngữ khác 2. Dùng lệnh sau cho vào function Thay đổi các thông số sau: $menu_replace = ‘menu-viet’ (tên menu) và $lang_replace = ‘vi’; (ngôn ngữ) 3. Cài WP Crontrol

6. [Lấy link out] Sau đó replace

1. Thêm lệnh sau vào dev tool để lấy ra linkout của bài viết 2. Thêm lệnh sau vào excel để replace trên sql Cột A1 là linkout, cột A2 là link cần thay Chú ý thay wp_

Tạo plugin hiển thị danh sách trong database (datalist table)

1. Tạo plugin Tạo folder lưu php thực thi. Ví dụ pt-get-table-recuiter Trong folder, bắt buộc có file php trùng tên folder plugin. 2. Tài liệu tham khảo https://github.com/supporthost-com/WP_List_Table/blob/main/supporthost-admin-table.php https://supporthost.com/wp-list-table-tutorial/

Thêm dữ liệu EXIF sử dụng PHP

Giải thích Nhập mã cần thiết. Đối với tập lệnh này, chỉ cần PelJpeg.php từ thư viện Isolesen PEL. Tải tệp hình ảnh cần chỉnh sửa, trong trường hợp này là in_filename.jpg. Lấy EXIF ​​và thư mục tệp hình ảnh gốc (IFD) từ hình ảnh. Thêm mô tả (trong trường hợp này, mô tả là “Đây là mô tả hình ảnh“.) … Xem thêm

nth-child

1. Lấy vị trí từ đầu

Danh mục css

Check if

1. If custom post type 2. If custom category, tax, archive

Lệnh script thông dụng

1. $(document).ready() $(document).ready() được kích hoạt khi tài liệu html của trang web được load xong và cây DOM được tạo thành. Có thể gọi nhiều lần 2. Window.load Trang web được load xong toàn bộ thì lệnh này mới chạy 3. Trigger Kích hoạt một tính năng nào đó, submit hoặc click 4. Check mobile 5. Di chuyển vị … Xem thêm

Danh mục js

Custom Post Type, Custom Taxonomies

1. Tạo Custom Post, Custom Taxonomies Dùng plugin Custom Post Type UI hỗ trợ cho tiện. 1.1 Custom Post Chú ý các phần sau: 1.2 Custom Taxonomies Chú ý các phần sau: 2. Xóa đường dẫn (slug) custom post, custom taxonomies 2.1 Xóa đường dẫn custom post Hoặc https://wordpress.org/plugins/remove-cpt-base/ 2.2 Xóa đường dẫn custom taxonomies

Bought Together (Mua chung)

1. Xử lý phần hiển thị, tạo shortcode 2. Xử lý phần chức năng đẩy vào Giỏ hàng 3. Sửa giá ở trong giỏ hàng 4. Script 4.1 Script lấy dữ liệu bằng Ajax 4.2 Những phần khác 5. Css

Flash Sale

1. Tạo các hàm cần thiết 1.1 Tạo hàm Fake số lượng bán 1.2 Tạo hàm hiển thị banner 1.3 Tạo shortcode để hiển thị FlashSale trong sản phẩm 1.4 Tạo shortcode hiển thị Flash Sale trong sản phẩm 1.5 Tạo shortcode hiển thị Flash Sale ngoài trang chủ 1.6 Hàm lấy ra id đang Sale 2. Sửa phần giá … Xem thêm

Function quan trọng cho Flatsome

1. Xóa thumbnail 2. Xóa thông báo bản quyền Flatsome 3. Thêm chức năng trong soạn thảo văn bản Có thể cài thêm plugin TinyMCE 4. Thêm Custome function Flatsome 5. Rút gọn nội dung sản phẩm

Rest api – Đẩy attachment (tệp đính kèm) sang web khác

A: Web lưu tệp đính kèm B: Web trung gian đẩy tệp đính kèm 1. Cài plugin JSON Basic Authentication Cài plugin JSON Basic Authentication vào web A. 2. Thêm code php cho web trung gian Thêm lệnh này vào để đẩy tệp đính kèm từ web A -> B Xem thêm crontab để tạo hành động tự động: https://guide.webtien.com/tao-action-cronjob

Tạo action Cronjob

1. Tạo function và action cronjob (crontab) Trong hàm creat_cronjob ta có thể tạo code để xử lý 2. Gọi cronjob bằng code 2.1 Gọi trực tiếp 2.2 Gọi và đẩy vào cronjob Ví dụ về thời gian: 3. Cài plugin wp-crontrol để quản lý cronjob 4. Các lệnh khác 4.1 Xem cronjob đang chạy Tham khảo https://www.smashingmagazine.com/2013/10/schedule-events-using-wordpress-cron/ https://www.elegantthemes.com/blog/tips-tricks/how-to-add-cron-jobs-to-wordpress

Tạo – ghi – đọc sql database

1. Tạo database 2. Ghi vào database 3. Đọc thông tin databse 3.1 Tạo ra đối tượng gồm cột + dòng 3.2 Tạo ra đối tượng dòng 3.3 Tạo ra đối tượng cột (mảng) 3.4 Tạo ra đối tượng duy nhất Trong trường hợp chỉ cần lấy ra 1 đối tượng với điều kiện rõ ràng 4. Tạo bảng trong … Xem thêm