PHP отправляет запрос GET по электронной почте безопасно - PullRequest
2 голосов
/ 25 июня 2019

Я пытаюсь создать систему посещаемости, в которой я отмечаю посещаемость сотрудника, по которой я щелкаю ссылку.Поэтому, когда сотрудник нажимает кнопку, я получаю электронное письмо с его информацией с отклонением и принимаю URL.URL-адреса, которые я пытаюсь передать, будут содержать переменные данные, например:

http://website.com/page.php?id=123&username=abc

, а затем использовать $_GET['id], $_GET['username']. Но проблема, с которой я сталкиваюсь, заключается в том, что пользователь можетпросто передайте их информацию, чтобы выполнить процесс, который я хочу сделать здесь, если они знают URL и свои ID.

Есть ли более безопасный и лучший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 25 июня 2019

Мое мнение

если пользователь нажимает на эту ссылку, этот параметр вам не нужен. Вместо этого сохраните это в сеансе и проверьте это!

Или для администратора, с этим параметром проблем нет. Вам просто нужно проверить, есть ли у текущего сеанса пользователя роль администратора или, если нет, просто показать ошибку разрешения

1 голос
/ 25 июня 2019

Надеюсь, вы знаете способ публикации. Это работает как письмо, которое мы публикуем. Вы не можете видеть, что в нем, пока не откроете его. Так что используйте метод POST. Вы можете сделать что-то вроде этого. Здесь я предполагаю, что пользователь войдет в систему, а затем через сеанс пользовательские данные будут получены и сохранены. Затем они будут назначены в скрытые поля ввода.

 <?php
session_start();
if (isset($_SESSION['UserName'])) {
    ?>
<form action="http://website.com/page.php" method="post">
<input type="text" value="<?=($_SESSION['UserName']);?>"  name="username" hidden>
<input type="text" value="<?=($_SESSION['UserId']);?>" name="userid"  hidden>
<button type="submit" name="submit">Confirm Your attendance</button>
</form>
<?php
}else{
    header('Location: login.php');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...