Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 1
Регистрация: 04.09.2014
Сообщений: 79
1

Шифрование данных PHP

14.09.2014, 11:21. Просмотров 1312. Ответов 17
Метки нет (Все метки)

Доброго времени суток!
Сразу скажу, что мои знания в php равняются нулю
В этой строке нужно зашифровать значение value='45'. Как это нужно сделать? Если можно объясните подробнее, так как в PHP я не разбираюсь
PHP
1
$l["ok"] ="<input type='hidden' name='ik_pm_no' value='45' />
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.09.2014, 11:21
Ответы с готовыми решениями:

Обратимое шифрование в php
Простой пример : &lt;?php // Шифрование данных $кеу = &quot;это КЛЮЧ&quot;; $text = &quot;Сообщение, которое...

Шифрование в форме php
&lt;form name=&quot;form&quot; form action=&quot;post&quot;&gt; &lt;div&gt;Код&lt;/div&gt; &lt;input name=&quot;Kod&quot; type=&quot;text&quot;&gt; ...

Шифрование PHP кода
Доброго времени суток, у меня вот такой вопрос. Чем шифруют этот код? &lt;?php...

Шифрование текста на PHP
Нужно реализовать шифрование текста на PHP с использованием алгоритма RSA. Код: &lt;?php function...

17
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16816 / 6694 / 880
Регистрация: 12.06.2012
Сообщений: 19,968
14.09.2014, 11:24 2
kisell, зашифровать или захешировать?

Не по теме:

И, главное, нафига?

0
0 / 0 / 1
Регистрация: 04.09.2014
Сообщений: 79
14.09.2014, 11:37  [ТС] 3
Точно не знаю как это называется. Вообщем, это поле используется для оплаты. Через консоль можно легко поменять значение не 45, а к примеру на 5 и человек будет оплачивать не 45 грн, а 5. И мне нужно это значение как-то скрыть. Не знаю как точно называется, шифрование или хеширование
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16816 / 6694 / 880
Регистрация: 12.06.2012
Сообщений: 19,968
14.09.2014, 11:42 4
kisell, это практически невозможно. Если я смогу опознать шифр, то я в любом случае смогу изменить в консоли значение на свое. И, видимо, вы неверно спроектировали приложение - не могу представить, зачем такое может понадобиться. Товары для оплаты должны храниться в БД, и у них должна быть сохранена их цена. В форме же передается только id-шник товара, извлекаются данные для оплаты из БД - а не из формы, и уже по ним производится оплата. С денежными операциями нельзя полагаться на "авось не расшифрует".
1
0 / 0 / 1
Регистрация: 04.09.2014
Сообщений: 79
14.09.2014, 11:53  [ТС] 5
У меня за цену товара отвечает $product->price. А как мне тогда вставить правильно вместо value='45'. Как только не пытался это делать, выдает ошибку, что значение ik_pm_no не найдет
$l["ok"] ="<input type='hidden' name='ik_pm_no' value='45' />
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16816 / 6694 / 880
Регистрация: 12.06.2012
Сообщений: 19,968
14.09.2014, 11:58 6
Практически ничего не понял из того, что вы написали.
Цитата Сообщение от kisell Посмотреть сообщение
за цену товара отвечает $product->price
Откуда эти данные берутся в свойстве price объекта $product ?
Цитата Сообщение от kisell Посмотреть сообщение
А как мне тогда вставить правильно вместо value='45'
Я уже говорил, что не вижу смысла в использовании скрытого поля с ценой. Любой, кто захочет, поменяет его на свое значение.
Цитата Сообщение от kisell Посмотреть сообщение
выдает ошибку, что значение ik_pm_no не найдет
Я без понятия, какая у вас там структура класса и БД. Телепатией, к счастью или сожалению, тоже не владею... Поэтому я не могу вам сказать, почему он его не находит, и что вам с этим делать..
0
0 / 0 / 1
Регистрация: 04.09.2014
Сообщений: 79
14.09.2014, 12:04  [ТС] 7
Что зашифровать практически невозможно я уже понял)
Сейчас я спросил другое. Эта строка отвечает за сумму к оплате товара
PHP
1
$l["ok"] ="<input type='hidden' name='ik_pm_no' value='45' />
Дело в том, что если вставить в value="$product->price", цена товара будет вставляться автоматически. Т.е. когда я выкладываю товар, в раздел "Цена" я пишу его стоимость. Из эта цена будет вставляться в этот value, но только если я вставлю $product->price. Вот я и спрашиваю, как мне правильно нужно написать код, чтобы вставить этот $product->price
Пытался и value='".$product->price."', много всякого перепробовал, так и не вышло
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16816 / 6694 / 880
Регистрация: 12.06.2012
Сообщений: 19,968
14.09.2014, 16:40 8
Цитата Сообщение от kisell Посмотреть сообщение
так и не вышло
почему не вышло? Выдает ошибку или что? Поймите, тяжело помочь, не видя кода. Покажите ошибочный код, его поправят на "как надо"
0
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
15.09.2014, 08:41 9
kisell, шифровать можно md5 или base64

PHP
1
2
3
4
//MD5
$tocode = md5($_POST['ik_pm_no']);
//Base64
$tocode = base64_encode($_POST['ik_pm_no']);
А по всему остальному, ничего не понятно
0
12 / 12 / 3
Регистрация: 08.01.2012
Сообщений: 83
15.09.2014, 10:20 10
Следует помнить что фронтэнд легко подвергается изменению, вся валидация связанная с тем что пользователь может что-то изменить через консоль - должна происходить на сервере. Смело ставьте value как посчитаете нужным, но не забудьте проверить может ли пользователь купить это за такую цену уже на самом сервере.
0
Эксперт по компьютерным сетямЭксперт NIX
11759 / 6731 / 633
Регистрация: 09.09.2009
Сообщений: 26,591
15.09.2014, 10:29 11
имхо, у формы вида "Оплатить" д.б лишь одно поле - id заказа.
и по клику отсылать юзера на обработчик, вообще не имеющий никакого вывода в браузер. вот в этом обработчике уже и формировать запрос к платежной системе, а клиенту потом лишь отобразить результат
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16816 / 6694 / 880
Регистрация: 12.06.2012
Сообщений: 19,968
15.09.2014, 11:15 12
Цитата Сообщение от N3stY Посмотреть сообщение
шифровать можно md5 или base64
base64 - шифрование, не спорю. md5 же совсем не шифрование, а хеширование, пусть и не очень устойчивое к коллизиям. З.Ы. Алгоритмов что шифрования, что хэширования, куда больше..
Цитата Сообщение от Rayden Посмотреть сообщение
но не забудьте проверить может ли пользователь купить это за такую цену уже на самом сервере
Смысл проверять? Цену просто надо подцеплять с сервера, и не обращать внимание на то, что там пользователь ввел в цене вообще
Цитата Сообщение от Dmitry Посмотреть сообщение
имхо, у формы вида "Оплатить" д.б лишь одно поле - id заказа
Ну, я думаю, мало кто захочет покупать кота в мешке, и пользователь сначала захочет узнать цену, поэтому цену вывести как раз надо Но вот выводить в поле ее, имхо, не стоит, лучше в обычный div, к примеру
0
Эксперт по компьютерным сетямЭксперт NIX
11759 / 6731 / 633
Регистрация: 09.09.2009
Сообщений: 26,591
15.09.2014, 11:51 13
Цитата Сообщение от KOPOJI Посмотреть сообщение
пользователь сначала захочет узнать цену, поэтому цену вывести как раз надо
мне почему-то казалось, что "отобразить число на странице", и "сделать скрытый инпут с прописанным числом" - как говорят в одессе - "две большие разницы".
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16816 / 6694 / 880
Регистрация: 12.06.2012
Сообщений: 19,968
15.09.2014, 12:03 14
Dmitry, значит, я неверно вас понял...
0
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
15.09.2014, 12:30 15

Не по теме:

KOPOJI, спорить не буду, не пользовался ни разу:) Тогда вывод из вами сказанного: пароли в бд зачастую хранят в виде хеша:scratch: интересно, но не лучше их криптовать в бейз?



Добавлено через 3 минуты
Цитата Сообщение от KOPOJI Посмотреть сообщение
Сообщение от Rayden
но не забудьте проверить может ли пользователь купить это за такую цену уже на самом сервере
Смысл проверять? Цену просто надо подцеплять с сервера, и не обращать внимание на то, что там пользователь ввел в цене вообще
Я думаю он имел ввиду, хватит ли пользователю денег на данную покупку или же нет, но насколько я знаю это проверяет платежка, а сайту всего лишь приходит ответ в виде POST или JSON или, что там еще есть.
0
Эксперт по компьютерным сетямЭксперт NIX
11759 / 6731 / 633
Регистрация: 09.09.2009
Сообщений: 26,591
15.09.2014, 12:30 16
я имел ввиду, что между страницей (назовем ее так) "Корзина" и сервером платежной системы размещается еще один скрипт.

"Корзина" показывает человеку все, что он навыбирал и в нее наскладывал - товары, количества, цены, в том числе и "итого" - одним словом все, на что хватит фантазии. Но кнопка "Оплатить", как уже писал должна отсылать форму с единственным параметром - id-ом заказа, и отсылать ее на "промежуточный скрипт".

"промежуточный скрипт" по id-у заказа вынимает из базы все, что нужно - номер заказа, сумму заказа, при необходимости, какоето описание заказа или список вошедших в него позиций, данные учетной записи мерчанта в платежной системе, и НИКОИМ ОБРАЗОМ НЕ ВЫВОДЯ НИЧЕГО В БРАУЗЕР клиента, формирует и отсылает запрос на сервер платежной системы (либо же переадресовывает клиента на сервер платежной системы с уже сформированными параметрами запроса на оплату).

ну а потом уже клиенту (в зависимости от процедур сервера оплаты) как-то отобразить результат - прошел платеж, не прошел, и т.д. и т.п.
0
KOPOJI
15.09.2014, 12:41
  #17

Не по теме:

Цитата Сообщение от N3stY Посмотреть сообщение
пароли в бд зачастую хранят в виде хеша интересно, но не лучше их криптовать в бейз?
Не лучше. Зачем вообще шифруют/хешируют пароли в БД? Чтобы на случай слива БД злоумышленник не получил пароли от аккаунтов. В случае использования base64 получить пароли не составит абсолютно никакого труда. В случае использования md5 без всякой соли и т.п., получить пароли также не составит особого труда. Поэтому либо используют другие алгоритмы хеширования (те же sha1 или crypt с DES и т.п.), либо добавляют определенный набор символов (соль) к паролю.

0
N3stY
15.09.2014, 13:18     Шифрование данных PHP
  #18

Не по теме:

KOPOJI, Большое спасибо за поучительную информацию. Как говорится: Век живи, век учись:)

0
15.09.2014, 13:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2014, 13:18
Привет! Вот еще темы с ответами:

Шифрование кода PHP
Здравствуйте. Прошу откликнуться тех, кто имел дело с шифрованием php файлов. Почти год мы с...

Способы шифрование данных. Передача данных на сервер в зашифрованном виде
Всем привет Хотелось бы услышать мнение опытных программистов о методах шифрования или о способах...

Шифрование php кода? Серьезно?
Доброго времени суток. Тут, на форуме, увидел как некоторые личности расшифровывают и зашифровывают...

Шифрование пароля на php mysql
Как сделать что бы код в бд записывался зашифрованным, а при авторизации она был декодирован Ниже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.