Tôi có một bài viết đầy đủ về đầu vào lọc trong Laravel, bạn có thể tìm thấy nó hữu ích http://usman.it/xss-filter-laravel/, đây là Trích dẫn từ bài viết này:
Bạn có thể tự làm sạch XSS toàn cầu, nếu bạn không có thư viện để viết các phương pháp phổ biến bạn có thể cần thường xuyên thì tôi yêu cầu bạn tạo một thư viện mới Chung trong ứng dụng/thư viện. Đặt hai phương pháp này trong thư viện chung của bạn:
/*
* Method to strip tags globally.
*/
public static function global_xss_clean()
{
// Recursive cleaning for array [] inputs, not just strings.
$sanitized = static::array_strip_tags(Input::get());
Input::merge($sanitized);
}
public static function array_strip_tags($array)
{
$result = array();
foreach ($array as $key => $value) {
// Don't allow tags on key either, maybe useful for dynamic forms.
$key = strip_tags($key);
// If the value is an array, we will just recurse back into the
// function to keep stripping the tags out of the array,
// otherwise we will set the stripped value.
if (is_array($value)) {
$result[$key] = static::array_strip_tags($value);
} else {
// I am using strip_tags(), you may use htmlentities(),
// also I am doing trim() here, you may remove it, if you wish.
$result[$key] = trim(strip_tags($value));
}
}
return $result;
}
Sau đó đặt mã này vào đầu lọc trước của bạn (trong application/routes.php):
//Our own method to defend XSS attacks globally.
Common::global_xss_clean();
Removed câu trả lời vì nó didnt áp dụng đối với XSS. Không có cách nào khó khăn hoặc nhanh chóng tôi nghĩ ... lọc nội dung, liên kết cookie với địa chỉ IP. Mục nhập wiki có tải thông tin tốt http: //en.wikipedia.org/wiki/Cross-site_scripting –
@DavidBarker, bạn đã sai cho tôi. Tất cả những gì tôi cần là ngăn chặn các thẻ và thực thi javascript khi hiển thị đầu vào của người dùng. – warmspringwinds