Мне интересно, могут ли $_POST
& $_GET
иметь проблемы с безопасностью.
Допустим, у меня есть AJAX-код, который отправляет данные в файл PHP со следующими данными:
if(isset($_POST['id'])) {
$client_id = mysql_real_escape_string($_POST['id']);
$client_name = mysql_real_escape_string($_POST['name']);
//Delete the Client
$sql="DELETE FROM clients WHERE id='".$client_id."'";
mysql_query($sql) or die(mysql_error());
//Client Pages Delete
$sql="DELETE FROM fanpages WHERE client='".$client_name."'";
mysql_query($sql) or die(mysql_error());
Теперь предположим, что имя PHP-файла delete.php
, любой пользователь может просто написать что-то вроде delete.php?id=423&name=Jack
, и он выкрикнет запрос и удалит клиента?
Я думал о добавлении чека COOKIE в начале, но насколько я знаю, COOKIE тоже можно подделать, я прав?
Так, каково решение для создания безопасных $_POST
& $_GET
запросов с комбинацией запросов БД?
РЕДАКТИРОВАТЬ: Все это происходит внутри защищенной паролем области пользователя, но я спрашиваю о единственном файле delete.php
, нужно ли мне добавлять проверку COOKIE в этот файл?
EDIT2: Скрипт работает с COOKIE, а не SESSIONS. Должен ли я также добавить SESSIONS в систему? нужно ли иметь куки и сеанс в одной системе?