2013-12-20 2 views
3

사람들이 특정 상점에서 구입할 수있는 기프트 카드 코드를 내 웹 사이트에 저장하고이를 사용하여 내 웹 사이트에서 물건을 구입할 수있게 할 계획입니다. 다음 과정은 어려워 이러한 코드는 암호를 해독 할 수 있도록 :데이터를 데이터베이스에 안전하게 저장하는 방법

처음 13 곳으로 모든 편지를 이동하는 str_rot13를 사용합니다 2는 내가 설정하는 않는 str_replace를 사용합니다 1 3 2 에 1에 각 2 매 1 나는 mycript를 사용하여 암호화하거나 어떤 암호화 방법이라도 내가 을 원할 것입니다. 그리고 마지막으로 나는 모든 암호화 문자를 13이나 원하는만큼 옮길 것입니다.

PHP에서 보안에 관해서는별로 진전이 아닙니다. 그래서 이것이 데이터를 저장하는 좋은 방법이 될지 또는 조사 할 다른 방법이 있다면 당신의 의견을 묻는 것입니다.

해커가 내 데이터베이스에 저장하는 정보를 해독하지 못하게하는 방법에 대한 확실한 계획이나 전술은 없지만 쉽게 해독 할 수 없도록 해두 고 싶습니다.

참고 : 위에서 사용한 방법은 내가 수행 할 수있는 한 가지 예일뿐입니다.

답변

2

비밀번호와 같은 방법으로 해싱과 함께이 목적으로 해싱을 사용하는 것이 좋습니다.

소금을 사용하여 데이터베이스에서 선물 코드를 해시하고 소금과 해시를 모두 데이터베이스에 저장할 수 있습니다.

나중에 사용자가 선물 코드를 사용하는 경우 동일한 방법으로 다시 해시하고 해당 해시가 데이터베이스에 있는지 확인하십시오. 그렇다면 선물 코드가 정확하다는 것을 의미하며 그에 따라 사용자에게 적절하게 보너스를줍니다.

해싱은 암호화보다 안전합니다. 그러나이 목적으로 암호화를 사용하려는 경우이 질문에 대한 대답의 PHP 클래스를 사용할 수 있습니다. Two-way encryption: I need to store passwords that can be retrieved

0

데이터베이스를 사용하는 경우 실제로 중요한 정보를 제공 할 필요가 없습니다. 사용자.

선물 카드의 가능한 흐름 :

  1. 각 카드 등 카드, 종이에 기록 (아마도 무작위로 추측하기 어려운 방식으로 생성 된) 고유 번호를 가지고 ...

  2. Checkout에서 점원은 제공 한 서비스를 사용하여 카드 값을 '등록'합니다. 또는 미리 정해져 있는데,이 경우 카드는 그룹으로 구성 될 수 있습니다. (예 : 10 $, 20 $ 등)하지만 사기 퇴치를 위해 어떤 방식 으로든 활성화해야합니다.

  3. 이 카드

    는 고객을 물려되고 코드는 고유 번호와 연결된 값을받을 체크 아웃에서 사용할 수 있습니다.

이 카드들의 안전과 개인 정보는 당신이 나누어주는 상점의 손에 맡길 수 있습니다. 도난 또는 기타 심각한 문제가 발생한 경우 어떤 점포가 있는지 등을 알 수있는 방법이 필요합니다. 사용자가 번호 (쉽게)는 1. 구입 한 것 2. 이미 사용할 수 없습니다로 추측 할 수

이 방법.

해싱 및 암호화가 올바르게 수행되면 안전 할 수 있지만 내부에 대한 잠재적 인 정보를 사용자에게 제공하는 것은 사실이 아닙니다. 그들이 얻는 것이 더 어렵다고하더라도.

관련 문제