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>