Kiểm tra CORS headers của API endpoint
CORS (Cross-Origin Resource Sharing) là cơ chế bảo mật cho phép hoặc chặn requests từ domain khác.
Khi browser gửi request đến API khác domain, server cần trả về CORS headers phù hợp để browser cho phép response.
CORS Checker là công cụ kiểm tra CORS (Cross-Origin Resource Sharing) headers của API endpoint online miễn phí. Debug lỗi CORS nhanh chóng, xem chi tiết Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers và các CORS headers khác. CORS là cơ chế bảo mật quan trọng của browser, kiểm soát việc chia sẻ tài nguyên giữa các domain khác nhau. Lỗi CORS là một trong những vấn đề phổ biến nhất khi phát triển frontend gọi API từ backend khác domain. Công cụ này giúp developer nhanh chóng xác định nguyên nhân và cách khắc phục.
CORS (Cross-Origin Resource Sharing) là cơ chế bảo mật của browser ngăn chặn JavaScript từ domain A gọi API của domain B mà không được phép. Khi gặp lỗi 'Access to fetch has been blocked by CORS policy', developer cần kiểm tra xem server đã cấu hình CORS headers đúng chưa. Công cụ CORS Checker giúp bạn: xác định nhanh API có bật CORS hay không, xem chi tiết các headers được trả về, biết được origin nào được phép truy cập, và hiểu rõ methods/headers nào được cho phép. Điều này giúp tiết kiệm hàng giờ debug và giao tiếp hiệu quả hơn với backend team.
Access-Control-Allow-Origin: Chỉ định domain nào được phép truy cập (* = tất cả). Access-Control-Allow-Methods: Các HTTP methods được phép (GET, POST, PUT...). Access-Control-Allow-Headers: Các custom headers được phép gửi. Access-Control-Allow-Credentials: Cho phép gửi cookies/auth headers. Access-Control-Max-Age: Thời gian cache preflight request (giây). Access-Control-Expose-Headers: Headers mà JavaScript có thể đọc từ response.
Nếu CORS bị chặn, backend cần thêm headers phù hợp. Với Node.js/Express: sử dụng middleware cors(). Với Nginx: thêm add_header Access-Control-Allow-Origin. Với Apache: sử dụng Header set. Lưu ý: không nên dùng Access-Control-Allow-Origin: * cho API có authentication vì không an toàn. Thay vào đó, whitelist các domain cụ thể được phép.
CORS là cơ chế của browser, không phải server. API vẫn hoạt động khi gọi từ Postman/curl vì chúng không áp dụng CORS policy. Chỉ browser mới kiểm tra CORS headers. Server cần trả về Access-Control-Allow-Origin header phù hợp để browser cho phép JavaScript đọc response.
Dùng * (wildcard) chỉ an toàn cho public API không yêu cầu authentication. Nếu API cần cookies hoặc Authorization header, không được dùng * mà phải chỉ định domain cụ thể. Ngoài ra, * không hoạt động với Access-Control-Allow-Credentials: true.
Preflight là OPTIONS request mà browser tự động gửi trước actual request để kiểm tra CORS policy. Preflight xảy ra khi: sử dụng methods khác GET/POST, có custom headers, hoặc Content-Type không phải application/x-www-form-urlencoded, multipart/form-data, text/plain.
Có nhiều cách: 1) Cấu hình proxy trong webpack/vite dev server, 2) Sử dụng browser extension tắt CORS (chỉ cho dev), 3) Chạy browser với flag --disable-web-security, 4) Sử dụng CORS proxy như cors-anywhere. Lưu ý: đây chỉ là giải pháp tạm thời cho development.
Không hoàn toàn. CORS chỉ ngăn JavaScript trong browser đọc response, không ngăn request được gửi đi. Attacker vẫn có thể gọi API từ server-side hoặc tools như curl. CORS là một lớp bảo vệ bổ sung, không thay thế authentication và authorization.
Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.
Tạo file .env và .env.example cho dự án.
Tạo .gitignore cho Node.js, Python, Java.
Tạo mock JSON data cho API testing.
Format và phân tích API response.
Test REST API: GET, POST, PUT, DELETE.
Chuyển đổi Binary, Hex, Base32.
Mã hóa/giải mã Base64.
Chuyển đổi Decimal, Binary, Hex.
Tạo CSS box-shadow trực quan.
Tính quyền file Linux.
Kiểm tra WCAG accessibility.
Tạo bảng màu ngẫu nhiên.