Задать вопрос
gagablik
@gagablik
Начинающий Web разработчик

Laravel, валидация на уникальные данные в БД, не является ли это SQL инъекцией?

Laravel 6. Требуется проверить на уникальность вводимых данных пользователем.
Делаю это через валидацию в контроллере Rule::unique.
Вопрос: Данные для проверки на уникальность берутся напрямую из формы ( $request->input('top') ). Безопасно ли так делать? Не будет ли это дыркой для SQL инъекции?

<label>Топ</labeL>
    <input type="text" name="top" value="">

    <label>URL</labeL>
    <input type="text" name="server" value="">

    <input type="submit" name="submit" value="Отправить форму">


protected function addServer(Request $request)
    {
    	$validatedData = Validator::make($request->all(), [
    		'top' => ['bail', 'required', 'integer'],
    		'server.*' => [
    			'bail', 'required', 'integer','digits_between:4,6', 'distinct',
    			Rule::unique('servers', 'server')->where(function ($query) use ($request) {
    				return $query->where(['ID_Account' => Auth::id(), 'Top' => $request->input('top')]);
    			}),
    		],
    	], [
    	])->validate();
    	return back()->with('message', 'Server added!');
    }
  • Вопрос задан
  • 167 просмотров
Подписаться 3 Простой Комментировать
Решения вопроса 1
Alex_Wells
@Alex_Wells
PHP/Kotlin
Безопасно, не будет.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы