17. ID vs UUID vs ULID. Laravel slug з можливістю редагування. Booting a trait. Sqids vs Hashids

Відео версія
(YouTube - для зворотнього зв'язку)

Ніколи НІКОЛИ не віддавайте числовий ID на фронт.

IDOR вразливість не вирішується приховуванням ID. Але все ж зменшує миттєву шкоду від вразливості.

Цифрові ID видають реальну статистику вашого проєкту, тому важливо їх приховувати від звичайних користувачів.

Squid перетворює масив цілих чисел в унікальний рядок. Рядок можна розшифрувати навіть не знаючи алфавіту. Тому не використовуйте його для передачі чутливих даних.

З ULID та новіших специфікацій UUID можна дістати дату створення запису.

Проблеми з реплікацією числових ID існують, але не критичні.

Eloquent дозволяє використовувати boot у трейтах. Просто назвіть функцію {TraitName}Boot.

Думайте про посилання на ваш сайт, коли розробляєте slug.

Якщо slug може редагуватися, для SEO важливо, щоб було одне посилання на сторінку. Тому перенаправляйте старі URL на новий з 302 статусом.

install GMP
RUN apk add gmp-dev && docker-php-ext-install gmp