PHP передает POST через HTML тег

У меня такой код:

<a class='list-group-item active' href='index.php?galleryId=$gallery[0]&id=gallery'>
                    <h4 class='list-group-item-heading'>$gallery[2]</h4>
                    <p class='list-group-item-text'>$gallery[3]</p>
                </a>

Я не хочу, чтобы пользователь мог редактировать galleryId в URL-адресе, потому что он мог получить доступ к галереям, которые не для него, путем редактирования значения в URL-адресе.

Это URL: http: //localhost/bilderDb/php/index.php? galleryId = 2 & id = gallery

Можно ли передать POST через тег, чтобы пользователь не мог его увидеть. Или есть другое решение?

Спасибо за вашу помощь!

Обновлено: я думаю, что я был неясен. Пользователь может видеть galleryId. Я не хочу, чтобы он мог это изменить. Когда он находится в переменной GET, он может просто изменить его в URL-адресе.

Вы должны управлять доступом к своим галереям, иначе любой, у кого есть ссылка, получит доступ к «частным» страницам.

AymDev 31.05.2018 11:27

Пользователи также могут редактировать данные POST, если захотят.

simon 31.05.2018 11:39
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
67
2

Ответы 2

Есть несколько способов защитить галерею от других пользователей.

  1. Вы можете использовать имя слага (случайная строка, включенная в gallery_id, например: fun-at-school-90i8j3) для галереи вместо использования gallery_id, поэтому другим пользователям трудно узнать о слаге галереи.

  2. Вы можете использовать скрытые поля ввода на странице галереи, которые содержат идентификатор и тип вашей галереи.

  3. Вы можете зашифровать свой gallery_id безопасными методами.

  4. Поместите проверки на стороне сервера, чтобы проверить разрешения на доступ к галерее, которая связана с пользователями, и каждый раз, когда вы должны проверять, что идентификатор галереи связан с действительным пользователем или нет.

2. Это видно пользователю. 3. Base64 - это не шифрование! Это не "безопасно" удаленно!

Quentin 31.05.2018 12:24

Is it possible to pass POST through the a tag

Не обошлось и без того, чтобы использование <a> было бессмысленным.

so the user cant see it.

Пользователь может видеть данные, отправленные их браузером в запросах POST. Это их браузер.

Or is there a other solution to this?

Аутентификация. Авторизация.

Если у пользователя не должно быть доступа к URL-адресу, тогда, если он запрашивает его, подтвердите его личность (например, заставьте его войти в систему) и ответьте 403.

Другие вопросы по теме