Помощник
|
Сравнение хэша MD5 |
rasanau
|
Сообщение
#1
|
||
|
|
||
|
|||
alexdrob |
7.5.2011, 20:14;
Ответить: alexdrob
Сообщение
#2
|
|
[PHP]$secret = 'Ваше_слово';
$v_n = получаете vendor номер в переменную; $o_n = получаете order номер в переменную; $t = получаете значение total в переменную; $hash = получаете hash проверочный; $hash_valid = md5($secret . $v_n . $o_n . $t); if ($hash == $hash_valid) { //проводите покупку } else { //ошибка! подмена данных! }[/PHP] |
|
|
rasanau
|
Сообщение
#3
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> <?php $string_to_hash = $_POST["secret_word"].$_POST["vender_name"]. $_POST["order_number"]. $_POST["total"]; $check_key = strtoupper(md5($string_to_hash)); echo ("Returned MD5 Hash:".$_POST["key"]."<BR>"); echo ("Should be:".$check_key."<BR>"); if($check_key == $_POST["key"]){echo ("" );} else {echo ("<center> They do NOT match! Was this a demo order?</center>");} ?> </head> <body> <p> Всё прошло хорошо</p> </body> </html> Вот это дело будет выполнятся? Раз хэш совпадает то будет отображаться на странице надпись "Всё прошло хорошо". Если же хэш не совпадает я так понимаю на странице будет написано: They do NOT match! Was this a demo order? |
|
|
alexdrob |
7.5.2011, 23:04;
Ответить: alexdrob
Сообщение
#4
|
|
не совсем так, вам нельзя получать secret_word из массива POST так как его тогда тоже можно подменить, вам его нужно само слово вписать.
А в остальном вроде бы всё правильно Если же хэш не совпадает я так понимаю на странице будет написано: They do NOT match! Was this a demo order? Не совсем, будет так They do NOT match! Was this a demo order? Всё прошло хорошо Измените например [PHP]else {echo ("<center> They do NOT match! Was this a demo order?</center>");}[/PHP] echo на exit |
|
|
rasanau
|
Сообщение
#5
|
|
Т.е. например будет так - вместо secret_word вписываю само это слово
--//-- $string_to_hash = "tango".$_POST["vender_name"]. $_POST["order_number"]. $_POST["total"]; --//-- и так? else {exit ("<center> They do NOT match! Was this a demo order?</center>");} |
|
|
alexdrob |
7.5.2011, 23:35;
Ответить: alexdrob
Сообщение
#6
|
|
да, оно для этого и нужно секретное слово, чтоб его не передавали а вы сами вписали а потом сравнили пришло то или нет, без этого слова нельзя подделать правильный hash а если его передавать то любой сможет hash подменить
|
|
|
rasanau
|
Сообщение
#7
|
|
|
спасибо
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
ExchangeRates.Pro: сравнение цен Bitcoin/Crypto обменников, бирж, P2P рынка 🚀 Поможем найти лучшие цены на обмен 34 криптовалют в 255 странах |
8 | ExchangeRatesPro | 3127 | 12.2.2020, 18:46 автор: ExchangeRatesPro |
|
Сравнение 2-х страниц на одну тему | 1 | rad_mw | 1056 | 28.6.2018, 18:27 автор: Napoleon-007 |
|
Php - скрипт. Сравнение строк в csv файлах | 2 | PoliteX | 2494 | 21.7.2015, 11:50 автор: PoliteX |
|
Сравнение на основе регулярных выражений. Бюджет 40 евро. | 5 | Nickondr | 4759 | 1.10.2011, 23:15 автор: -Webmaster- |
Текстовая версия | Сейчас: 20.4.2024, 4:37 |