Я использую метод get для выполнения некоторых операций, таких как, одобрить, markasspam, удалить, для комментирования системы.я знаю, что идти по этому пути крайне небезопасно, но не могу помочь.потому что причина использования метода $ _GET состоит в том, чтобы выполнить операцию на самой странице, используя PHP_SELF, и, к вашему сведению, я использую метод post, используя флажок, чтобы выполнить операцию тоже.
Теперь, чтобы сделать его немного безопасным, я хочу рандомизировать число или сгенерировать хеш или что-то еще, а затем сравнить его, получить идентификатор и выполнить операцию
Мой текущий код выглядит примерно так.
<?php
if($approve == 1 )
{
?>
<a href="<?php echo $_SERVER['PHP_SELF']."?approve=".$id; ?>">Unapprove</a>
<?php
} else
{
?>
<a href="<?php echo $_SERVER['PHP_SELF']."?unapprove=".$id; ?>">Approve</a>
<?php
}
?>
| <a href="<?php echo $_SERVER['PHP_SELF']."?spam=".$id; ?>">Spam</a>
| <a class="edit-comments" href="edit-comments.php?id=<?php echo $id; ?>">Edit</a>
| <a href="<?php echo $_SERVER['PHP_SELF']."?delete=".$id; ?>">Delete</a>
и я выполняю операцию, используя этот код ..
if(isset($_GET['approve'])) {
$id = intval($_GET['approve']);
$query = "UPDATE comments SET approve = '0' WHERE id = '$id'";
$result = mysql_query($query);
}
if(isset($_GET['unapprove'])) {
$id = intval($_GET['unapprove']);
$query = "UPDATE comments SET approve = '1' WHERE id = '$id'";
$result = mysql_query($query);
}
if(isset($_GET['delete'])) {
$id = intval($_GET['delete']);
$query = "DELETE FROM comments WHERE id = '$id'";
$result = mysql_query($query);
}
if(isset($_GET['spam'])) {
$id = intval($_GET['spam']);
$query = "UPDATE comments SET spam = '1' WHERE id = '$id'";
$result = mysql_query($query);
}
вместо того, чтобы утверждать или не одобрять, удалять или спамить, я хочу рандомизировать или хешировать эти слова и хотетькак можно дольше, а затем выполните операцию.
как мне это сделать?что вы думаете по этому поводу?
РЕДАКТИРОВАТЬ: Обратите внимание, что только аутентифицированный пользователь, то есть администратор сможет выполнить эту операцию.несмотря на то, что он проходит через систему аутентификации, я хочу повысить безопасность даже для администратора.чтобы избежать экспериментов или несчастных случаев
код не является точным, это всего лишь образец, чтобы вы поняли, чего я хочу достичь.