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

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

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

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

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

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

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

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

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

Не по теме:

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

0
kisell
0 / 0 / 1
Регистрация: 04.09.2014
Сообщений: 79
14.09.2014, 11:37  [ТС] 3
Точно не знаю как это называется. Вообщем, это поле используется для оплаты. Через консоль можно легко поменять значение не 45, а к примеру на 5 и человек будет оплачивать не 45 грн, а 5. И мне нужно это значение как-то скрыть. Не знаю как точно называется, шифрование или хеширование
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16768 / 6655 / 869
Регистрация: 12.06.2012
Сообщений: 19,894
Завершенные тесты: 1
14.09.2014, 11:42 4
kisell, это практически невозможно. Если я смогу опознать шифр, то я в любом случае смогу изменить в консоли значение на свое. И, видимо, вы неверно спроектировали приложение - не могу представить, зачем такое может понадобиться. Товары для оплаты должны храниться в БД, и у них должна быть сохранена их цена. В форме же передается только id-шник товара, извлекаются данные для оплаты из БД - а не из формы, и уже по ним производится оплата. С денежными операциями нельзя полагаться на "авось не расшифрует".
1
14.09.2014, 11:42
kisell
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
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16768 / 6655 / 869
Регистрация: 12.06.2012
Сообщений: 19,894
Завершенные тесты: 1
14.09.2014, 11:58 6
Практически ничего не понял из того, что вы написали.
Цитата Сообщение от kisell Посмотреть сообщение
за цену товара отвечает $product->price
Откуда эти данные берутся в свойстве price объекта $product ?
Цитата Сообщение от kisell Посмотреть сообщение
А как мне тогда вставить правильно вместо value='45'
Я уже говорил, что не вижу смысла в использовании скрытого поля с ценой. Любой, кто захочет, поменяет его на свое значение.
Цитата Сообщение от kisell Посмотреть сообщение
выдает ошибку, что значение ik_pm_no не найдет
Я без понятия, какая у вас там структура класса и БД. Телепатией, к счастью или сожалению, тоже не владею... Поэтому я не могу вам сказать, почему он его не находит, и что вам с этим делать..
0
kisell
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
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16768 / 6655 / 869
Регистрация: 12.06.2012
Сообщений: 19,894
Завершенные тесты: 1
14.09.2014, 16:40 8
Цитата Сообщение от kisell Посмотреть сообщение
так и не вышло
почему не вышло? Выдает ошибку или что? Поймите, тяжело помочь, не видя кода. Покажите ошибочный код, его поправят на "как надо"
0
N3stY
(ノಠ益ಠ)ノ彡┻━┻
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
Rayden
12 / 12 / 3
Регистрация: 08.01.2012
Сообщений: 83
15.09.2014, 10:20 10
Следует помнить что фронтэнд легко подвергается изменению, вся валидация связанная с тем что пользователь может что-то изменить через консоль - должна происходить на сервере. Смело ставьте value как посчитаете нужным, но не забудьте проверить может ли пользователь купить это за такую цену уже на самом сервере.
0
Dmitry
Эксперт по компьютерным сетямЭксперт NIX
10992 / 6267 / 509
Регистрация: 09.09.2009
Сообщений: 24,886
15.09.2014, 10:29 11
имхо, у формы вида "Оплатить" д.б лишь одно поле - id заказа.
и по клику отсылать юзера на обработчик, вообще не имеющий никакого вывода в браузер. вот в этом обработчике уже и формировать запрос к платежной системе, а клиенту потом лишь отобразить результат
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16768 / 6655 / 869
Регистрация: 12.06.2012
Сообщений: 19,894
Завершенные тесты: 1
15.09.2014, 11:15 12
Цитата Сообщение от N3stY Посмотреть сообщение
шифровать можно md5 или base64
base64 - шифрование, не спорю. md5 же совсем не шифрование, а хеширование, пусть и не очень устойчивое к коллизиям. З.Ы. Алгоритмов что шифрования, что хэширования, куда больше..
Цитата Сообщение от Rayden Посмотреть сообщение
но не забудьте проверить может ли пользователь купить это за такую цену уже на самом сервере
Смысл проверять? Цену просто надо подцеплять с сервера, и не обращать внимание на то, что там пользователь ввел в цене вообще
Цитата Сообщение от Dmitry Посмотреть сообщение
имхо, у формы вида "Оплатить" д.б лишь одно поле - id заказа
Ну, я думаю, мало кто захочет покупать кота в мешке, и пользователь сначала захочет узнать цену, поэтому цену вывести как раз надо Но вот выводить в поле ее, имхо, не стоит, лучше в обычный div, к примеру
0
Dmitry
Эксперт по компьютерным сетямЭксперт NIX
10992 / 6267 / 509
Регистрация: 09.09.2009
Сообщений: 24,886
15.09.2014, 11:51 13
Цитата Сообщение от KOPOJI Посмотреть сообщение
пользователь сначала захочет узнать цену, поэтому цену вывести как раз надо
мне почему-то казалось, что "отобразить число на странице", и "сделать скрытый инпут с прописанным числом" - как говорят в одессе - "две большие разницы".
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16768 / 6655 / 869
Регистрация: 12.06.2012
Сообщений: 19,894
Завершенные тесты: 1
15.09.2014, 12:03 14
Dmitry, значит, я неверно вас понял...
0
N3stY
(ノಠ益ಠ)ノ彡┻━┻
151 / 151 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
15.09.2014, 12:30 15

Не по теме:

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



Добавлено через 3 минуты
Цитата Сообщение от KOPOJI Посмотреть сообщение
Сообщение от Rayden
но не забудьте проверить может ли пользователь купить это за такую цену уже на самом сервере
Смысл проверять? Цену просто надо подцеплять с сервера, и не обращать внимание на то, что там пользователь ввел в цене вообще
Я думаю он имел ввиду, хватит ли пользователю денег на данную покупку или же нет, но насколько я знаю это проверяет платежка, а сайту всего лишь приходит ответ в виде POST или JSON или, что там еще есть.
0
Dmitry
Эксперт по компьютерным сетямЭксперт NIX
10992 / 6267 / 509
Регистрация: 09.09.2009
Сообщений: 24,886
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 mysql
Как сделать что бы код в бд записывался зашифрованным, а при авторизации она был декодирован Ниже...

Как сделать такое шифрование на php?
http://www.cyberforum.ru/java-j2se/thread2283527.html

Работа с сессиями php и шифрование паролей
в чем суть. есть два УРЛА test1.ru/blog/ test1.ru/blog/index.php они вроде не отличаются, но ...


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

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

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