При работе с записями базы данных, отображая их на HTML и сохраняя их идентификатор в скрытом поле, чтобы получить, какой из них для обновления не является безопасным, я попробовал что-то еще, но я не уверен, что этого достаточно. Secure ,Хранение Идентификатора товара в HTML
В настоящее время im хранит идентификатор и контрольную сумму md5 ID + Somekey в другом скрытом поле.
<input type="hidden" name="ID" value="1"/>
<input type="hidden" name="Hash" value="<?php echo md5($ID."MYKEY"); ?>"/>
И на back-end на PHP я делаю то же самое и тестирую, если их равны.
<?php
$ID = $_GET['ID'];
$Checksum = $_GET['Hash'];
if(md5($ID."MYKEY") == $Checksum)
//Proceed Delete or update
?>
Я делаю это, потому что кто-то может просто изменить идентификатор записи и взаимодействовать с кем-то другим.
Второе решение - проверить, была ли эта запись связана с пользователем, выбирая ее из базы данных и тестируя, если этот Exist для этого конкретного пользователя, но с помощью Checksum я думал, что это может быть Оптимизация!
Таким образом, достаточно безопасно использовать этот способ, используя контрольные суммы и генерируя динамический ключ для каждого нового сеанса.
Bests
@KBoek sory man, я был как 99% на C# теге задавая вопрос, так что это была привычка. – Burimi
Вам нужно прочитать [ACL] (http://www.google.co.uk/#hl=ru&tbo=d&q=php+access+control+list&revid=361300470&sa=X&ei=Oe_aT-myOYLP0QXx2rXgCg&ved=0CCEQ1QIoAQ&bav=on.2 , or.r_gc.r_pw.r_cp., cf.osb & fp = f2bc548caeecd6a1 & biw = 1024 & bih = 644) – vascowhite