10/10/2018, 11:20
Bảo mật trong Codeigniter ???
Trong php 5 đã fix lỗi : truyền biến có dấu ' sẽ thành '.
Nhưng nếu hiện thị trong controller của Codeigniter
echo '<pre>';
print_r($_POST);
echo '</pre>';
thì sẽ bị mất dấu ' chỉ còn dấu ' (dù có XSS Filtering )
Xin mọi người giải thích cho mình biết sao Codeigniter lại bỏ đi vậy ?
Và xin cách khắc phục.
Nhưng nếu hiện thị trong controller của Codeigniter
echo '<pre>';
print_r($_POST);
echo '</pre>';
thì sẽ bị mất dấu ' chỉ còn dấu ' (dù có XSS Filtering )
Xin mọi người giải thích cho mình biết sao Codeigniter lại bỏ đi vậy ?
Và xin cách khắc phục.
Bài liên quan
Nếu bạn muốn thêm cái \ ở mỗi cái ' thì sử dụng hàm này: addslashs (php). Nếu muốn sử dụng trong câu mysql thì có thể dùng hàm mysql_escape_string hoặc mysql_real_escape_string.
Bạn nên google để biết thêm chi tiết.
Nhưng mình nghĩ đây là cách chống sql injection chứ. Sao framework lại bỏ đi nhỉ. Có gì không tốt ở điểm này vậy ?
Nói cho đơn giản là: cái magic_quote_gpc enable sẽ làm script viết ra đễ bị sql injection hơn bình thường )