Hi, Khách!
![]() | ![]() ![]() ![]() ![]() |
Sau một thời gian làm việc với JohnCMS thì mình có một vài kinh nghiệm cho ccá bạn mới học mod Johncms như sau, hiện nay tình trạng Johncms các bạn đem về mod thường bị lỗi về Xss hoặc SQLi ( ở đây chỉ nói các bạn mới bắt đầu mod thôi nhé )
Và sau đây các bạn hãy tuân thủ các quy tắc sau khi thao tác với Form và data để không bị mắc lỗi như vậy.

Mặc định trong Johncms đã có các function bảo mật rất tốt đó là 3 function:
- checkin()
- checkout()
- check()
Tuy nhiên thì function checkin nó cũng đã nằm trong function check rồi nên chỉ dùng hai cái là đủ
Về chức năng của từng hàm:
- Check() có nhiệm vụ sẽ chống lỗi XSS và SQLi khi post dữ liệu từ Form lên
- Checkout() có nhiệm vụ sẽ vô hiệu hóa các thẻ HTML và biến đổi BBcode sang HTML
Về Mod code.
- Khi các bạn muốn làm các thao tác như UPDATE, INSERT dữ liệu thì các dữ liệu cần lưu phải được bọc bởi hàm check()
Ví dụ: $name = functions::check($_POST['name');
- Khi show dữ liệu ra ngoài như hiện nội dung comment, nội dung tin nhắn hoặc chatbox thì nên boc bởi hàm checkout()
trong hàm Checkout() này các các biến như sau:
checkout($text,$br,$tag); trong đó:
+ $text là nội dung
+ $br là xuống dòng. Nếu giá trị là 0 thì nó sẽ không thực hiện chức năng xuống dòng, còn 1 thì ngược lại
+ $tag là bbcode. Nếu giá trị là 0 thì sẽ vô hiệu hóa Bbcode, còn một thì ngược lại
Ví dụ: echo functions::checkout($text,1,1);
Khi đã dùng hàm checkout rồi thì sẽ tránh được các lỗi về thẻ html như các thẻ meta chuyển hướng trang, script độc hại, ....
Mong rằng với bài viết này sẽ giúp ích được cho các bạn.
Nguồn: nhanhnao.xyz

Trực Tuyến:
Khách: 1