Вопросы и ответы - sql-injection
Есть ответ!
Позвольте мне объяснить подробнее
Я хочу защитить свою переменную строки запроса для строки инъекции
URL: http://domainname.com/report?start_date='; выберите; --
Например, как вы видите в приведенном выше URL-адресе, есть какая-то неожиданная строка, и я хочу обрезать ее, получая ее на контроллере с помощью объекта $request
Пример: $start_date = $request - >get('start_date');
И тогда я использу...
Есть ответ!
Я пытаюсь создать restAPI в Laravel. Как я могу защитить такой SQL-запрос от sql-инъекции?
Route::get('api/restaurant/id/{id}', 'RestaurantController@getRestaurantById');
public function getRestaurantById($id) {
$restaurant = Restaurant::where('id', $id)->first();
return $restaurant;
}
Есть ответ!
Я знаю, что все используют DB::raw()для выполнения необработанного sql.
Я сам использую вместо этого следующее:
DB::select("query string?", [$var]);
DB::insert("query string?", [$var]);
DB::update("query string?", [$var]);
DB::delete("query string?", [$var]);
Laravel уже обеспечивает защиту от SQL-инъекций или мне все еще нужно избежать своих переменных?
Есть ответ!
Я использую Laravel 4 с красноречивым.
Когда я получаю пользовательский ввод, я просто использую $name=Input::get('name'), а затем делаю $a->name=$name;
Я не знаю, защищает ли меня функция Input::get от SQL-инъекций и XSS. Если это не так, что я должен сделать, чтобы санировать входные данные?
И когда я покажу значение в моем представлении, должен ли я использовать {{$a}} или {{{$a}}}
Привет...