· 2 просмотров · 1 мин чтения

Kak zaschitit Laravel ot SQL Injection. Prepared statements, Eloquent ORM, validatsiya, primery uyazvimostey i ih ispravlenie.

Поделиться:

SQL Injection: zaschita Laravel prilozheniy

SQL Injection — odna iz samyh opasnyh uyazvimostey. Laravel predostavlyaet instrumenty dlya nadyozhnoy zaschity.

Kak rabotaet SQL Injection

Zloumyshlennik vnedryaet SQL-kod cherez polzovatelskiy vvod:

// Uyazvimyy kod$email = $_GET['email'];$query = "SELECT * FROM users WHERE email = '$email'";// Vvod: ' OR '1'='1

Zaschita cherez Eloquent

Eloquent avtomaticheski ispolzuet prepared statements:

// Bezopasno — parametry ekraniruyutsyaUser::where('email', $request->email)->first();

// Bezopasno — massovoe prisvaivanie s fillable$user->update($request->validated());

Query Builder

// BezopasnoDB::table('users')    ->where('email', $email)    ->where('active', true)    ->get();

// Opasno — raw vyrazheniyaDB::select("SELECT * FROM users WHERE email = '$email'");

Raw vyrazheniya: kogda nuzhny

Ispolzuyte bindings:

DB::select('SELECT * FROM users WHERE email = ?', [$email]);

Best Practices

  • Nikogda ne doveryayte polzovatelskomu vvodu
  • Ispolzuyte Eloquent ili Query Builder
  • Validiruyte dannye pered zaprosami
  • Ispolzuyte prepared statements dlya raw SQL

APS gotova pomoch s vashim proektom

Provodim audit bezopasnosti Laravel-prilozheniy. Zakazhite proverku — naydyom i ustranim SQL Injection uyazvimosti.

SQL Injection Laravel zaschita bezopasnost Eloquent prepared statements

АПС готова помочь с вашим проектом

Нужна разработка, консультация или аудит? Свяжитесь с нами и получите бесплатную оценку проекта.

Комментарии (0)

Пока нет комментариев. Будьте первым!