HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Удаление устроено проще, чем вывод. При этом оно включает в себя много нюансов. Вместо привычных<em>GET</em>и<em>POST</em>удаление делается запросом<em>DELETE</em>:</p>
1 <p>Удаление устроено проще, чем вывод. При этом оно включает в себя много нюансов. Вместо привычных<em>GET</em>и<em>POST</em>удаление делается запросом<em>DELETE</em>:</p>
2 <p>В процессе удаления есть и интерфейсный момент, который начинающие разработчики упускают из виду.</p>
2 <p>В процессе удаления есть и интерфейсный момент, который начинающие разработчики упускают из виду.</p>
3 <p>Кнопка удаления не должна сразу удалять. Человеку свойственно ошибаться. Вероятность, что он нажмет на эту кнопку по ошибке - высока. По этой причине нужно спросить у пользователя, уверен ли он в том, что хочет удалить. Если да, то только в этом случае удалять.</p>
3 <p>Кнопка удаления не должна сразу удалять. Человеку свойственно ошибаться. Вероятность, что он нажмет на эту кнопку по ошибке - высока. По этой причине нужно спросить у пользователя, уверен ли он в том, что хочет удалить. Если да, то только в этом случае удалять.</p>
4 <p>Еще удаление пользователя - опасная операция, которую нельзя выполнять всем подряд. Даже те, кто могут это делать, должны проходить через процедуру подтверждения. Это нужно, чтобы случайно не удалить пользователя.</p>
4 <p>Еще удаление пользователя - опасная операция, которую нельзя выполнять всем подряд. Даже те, кто могут это делать, должны проходить через процедуру подтверждения. Это нужно, чтобы случайно не удалить пользователя.</p>
5 <p>Есть ли у пользователя доступ к конкретным действиям, определяется авторизацией. Она предоставляет определенному лицу или группе лиц права на выполнение определенных действий. Также это процесс проверки и подтверждения данных прав при попытке выполнения этих действий.</p>
5 <p>Есть ли у пользователя доступ к конкретным действиям, определяется авторизацией. Она предоставляет определенному лицу или группе лиц права на выполнение определенных действий. Также это процесс проверки и подтверждения данных прав при попытке выполнения этих действий.</p>
6 <p>Часто авторизацию путают с аутентификацией. Но второе - это процедура проверки легальности пользователя или данных, например, проверки соответствия введенного пользователем пароля к учетной записи паролю Wiki.</p>
6 <p>Часто авторизацию путают с аутентификацией. Но второе - это процедура проверки легальности пользователя или данных, например, проверки соответствия введенного пользователем пароля к учетной записи паролю Wiki.</p>
7 <p>Получается, что перед выполнением действия необходимо проверить, авторизован ли пользователь на выполнение данного действия или нет.</p>
7 <p>Получается, что перед выполнением действия необходимо проверить, авторизован ли пользователь на выполнение данного действия или нет.</p>
8 <p>Авторизация - отдельная большая тема со своей теоретической базой. Как правило, вопрос авторизации решается в каждом фреймворке<a>самостоятельно</a>, хотя на GitHub можно найти обобщенные библиотеки.</p>
8 <p>Авторизация - отдельная большая тема со своей теоретической базой. Как правило, вопрос авторизации решается в каждом фреймворке<a>самостоятельно</a>, хотя на GitHub можно найти обобщенные библиотеки.</p>
9 <p>Теперь рассмотрим отправку запроса на удаление.</p>
9 <p>Теперь рассмотрим отправку запроса на удаление.</p>
10 <p>HTML-формы не поддерживают отправку методами, отличными от<em>GET</em>и<em>POST</em>. Фреймворки выкручиваются из этой ситуации следующим образом. Если в форме задать скрытое поле с именем _METHOD и значением того метода, который нам нужен, то внутри фреймворка до входа в обработчик глагол заменится на тот, что был указан. Таким нехитрым способом фреймворки позволяют посылать любые запросы:</p>
10 <p>HTML-формы не поддерживают отправку методами, отличными от<em>GET</em>и<em>POST</em>. Фреймворки выкручиваются из этой ситуации следующим образом. Если в форме задать скрытое поле с именем _METHOD и значением того метода, который нам нужен, то внутри фреймворка до входа в обработчик глагол заменится на тот, что был указан. Таким нехитрым способом фреймворки позволяют посылать любые запросы:</p>
11 <p>Чтобы включить эту возможность, нужно добавить немного конфигурации в Slim:</p>
11 <p>Чтобы включить эту возможность, нужно добавить немного конфигурации в Slim:</p>
12 <p>Семантику HTTP важно соблюдать. Нельзя создавать HTML, в котором удаление происходит GET-запросом, например, по ссылке.</p>
12 <p>Семантику HTTP важно соблюдать. Нельзя создавать HTML, в котором удаление происходит GET-запросом, например, по ссылке.</p>
13 <p>Браузеры, их плагины и поисковые системы действуют в соответствии с семантикой HTTP. Если они видят обычную ссылку, то подразумевается, что она не может выполнить деструктивных действий, значит, ее можно посетить.</p>
13 <p>Браузеры, их плагины и поисковые системы действуют в соответствии с семантикой HTTP. Если они видят обычную ссылку, то подразумевается, что она не может выполнить деструктивных действий, значит, ее можно посетить.</p>
14 <p>Мы можем работать в закрытой от поисковиков части сайта. Но в браузерах встроен механизм предзагрузки страниц, вызывающий ссылки, до которых сможет дотянуться на открытой странице. А плагины могут делать всё, что угодно.</p>
14 <p>Мы можем работать в закрытой от поисковиков части сайта. Но в браузерах встроен механизм предзагрузки страниц, вызывающий ссылки, до которых сможет дотянуться на открытой странице. А плагины могут делать всё, что угодно.</p>