Hôm nay khai xuân nên chia sẻ với mọi người một cách để vượt qua cái gọi là check authorized trên ckfinder. cụ thể như sau.
Khi chúng ta vào file ckfinder.html thì nó ra một thông báo demo và ai cũng có thể thấy và upload file lên nó như hình bên dưới
Để ngăn việc bioj người khác upload file mã độc hoặc rác một số lập trình viên dùng code như sau để chặn nó
phân tích code trên chúng ta thấy một vấn đề về bảo mật ở đây. code này dùng javascript để check một api xem đã login chưa ở cái chỗ
https://xxxxxx.com/rest_api/Admin/login
và đây chỉ đơn giản là code javascript nên nếu tôi dùng code khác trên host khác dạng mặc định thì sao?
tôi bắt đầu tải code mặc định của ckfinder về ngâm cứu
Tôi mang code này lên host của tôi và chạy thay
<script src="ckfinder.js"></script>
thành
<script src="https://xxxx.com/patch/ckfinder.js"></script>
Khi vào thì tôi được một trang trắng tinh bật console lên thì tôi biết nó chặn tôi không hiển thị do CORS
Để giải quyết vấn đề này thì đơn giản là dùng firefox cùng với addon CORS Everywhere
Sau khi cài và chạy thì tôi thoải mái đọc các thông tin file cũng như upload được file nên
Thật vi diệu.
giờ chúng ta cần thêm giải pháp để chặn nó thì đơn giản các bạn dùng cách check header của trình duyệt khi truy cập tới file ckfinder.js là song
ví dụ với nginx sẽ như sau:
bạn thay xxx yyy thành domain của bạn là song. Tuy nhiên cần lưu ý đây chỉ là giải pháp tạm thời không phải triệt để các bạn nên tìm các biện pháp tốt hơn để xử lý
Không có nhận xét nào:
Đăng nhận xét