DB::table('news')
->select('title', 'url', 'desc', 'text', 'created_at', 'image')
->where('delete', 0)
->where('enable', 2)
/* || ---> отсеивание новостей у которых срок публикаций еще не подошел | */
->where(function ($query) {
$query->whereNull('created_at')
->orWhere('created_at', '<=', Carbon::now()->toDateTimeString());
})
/* || ---> |*/
->whereRaw('MATCH (`title`, `desc`, `text`) AGAINST (\''.$q.'\')')
->orderBy('created_at', 'desc')
->offset($offest)
->limit($paginate)
->get();
С переменной $q приходит поисковая слова - типа "машина", "видео" и т.п. Тут запросто можно отправить sql инъекцию.
https://laravel.ru/posts/250
Читал я эту документацию где написано - "Будьте внимательны и не допускайте возможностей для SQL-инъекций! при сырых запросах". Аха, понял. Теперь вопрос - а как я буду собственно защищаться? Такое уже не описано.
Тут я свою переменную $q хочу положить в mysqli_real_escape_string($database, $q)
НО тут есть одно проблема - я в mysqli_real_escape_string должен передать идентификатор соединение с базой mysql. Как это в laravel получить? :)
_____________
Жадный.... жадный.... жадный кот