RSS Reset

Vấn đề FCKeditor

thầy cô cho em hỏi khi sử dụng bộ fckeditor thì có bị giới hạn gì không ah. vì khi em sử dụng đề ghi vào mslq thì chỉ những đoạn nội dung don gian ghi được. còn những thông tin có hình ảnh có thêm phần onclick thì không thể ghi vào mysql được.thầy co cho em biết ly do và phương pháp giải quyết được không ah.

Chào bạn,
Mình có một vài thông tin chia sẽ với bạn như sau:

+ Nếu bạn có ý định làm trang admin cho phép user, khi nhập liệu có thể nhập mã javascript và mã javascript đó sẽ được thực thi khi bài viết đó được hiển thị trang ngoài (trang font-end): mình nghĩ bạn nên dừng ý định này lại ngay lập tức, vấn đề này liên quan đến bảo mật website, kẻ xấu sẽ tấn công website của bạn thông qua đường này.

+ Do đó, khi bạn xử lý add, update cho màn hình quản lý( ví dụ như quản lý tin tức), bạn cần phải xử lý lọc, loại bỏ tất cả các cụm từ đặc biệt như: <script>, <?php, <?,… (Bạn hãy tìm thêm các bài nói về bảo mật để biết thêm)

+ Cũng chính vì lý do này, mà các editor thường sẽ mã hóa hết các cụm từ đặc biệt, tùy từng loại editor sẽ có cách mã hóa khác nhau. Để biết editor mã hóa như thế nào, bạn hãy echo nội dung đó ra, rồi viewsource xem sẽ biết liền (nhớ là phải viewsource mới xem được chính xác).

+ Ở trường hợp của bạn “không thể lưu được vào csdl”, bạn cần phải xem lại thông tin sau khi fckeditor mã hóa, có tồn tại dấu ‘ hay dâu ” trong đó không? Vì khi đó sẽ cho câu query của bạn không còn đúng cú pháp nữa. Để khắc phục bạn nên hàm addslashes. Ví dụ: $_POST['noi_dung'] = addslashes($_POST['noi_dung']);

+ Nếu vì lý do nào đó, bạn vẫn muốn lưu và thực thi được lệnh javascript (sự kiên onclick lên tấm hình), bạn dùng cách sau: đầu tiên bạn thử lưu nội dung đó vào csdl trước, sau đó bạn mở csdl lên lại, xem đọan javascirpt (onclick….) bị đổi như thế nào, rồi thì khi hiển thị nội dung bài viết đó ra, bạn chỉ việc replace các kí tự mã hóa thành kí tự ban đầu là xong.

No comments yet.

Leave a Comment