임의의 URL로 주문 상태 페이지를 보호하기에 충분합니까?


11

(기업) 고객이 온라인 상점에서 일부 품목을 구매 한 후 구매 한 제품에 대한 개요를 이메일로 보냅니다.

고객에게 수령 한 지불, 패킷 추적 등에 대해 알리고 싶습니다. 각 주문에 임의의 ID를 할당하고 각 메일에 대한 링크를 추가하여이 문제를 해결하고 싶습니다. 링크는 다음과 같습니다. http://shop.foo.bar/order/rwklvc46g9wt7kvy09f1

데이터를 보호하기 위해 추가 조치를 취 하시겠습니까? 아니면 완전히 다른 솔루션을 선택 하시겠습니까?

장점 :

  • 메일마다 문제 상태 업데이트가 없습니다 (특히 업데이트가 자주 발생하는 경우)
  • 단일 정보 소스 (구식이 아님)
  • 공유 가능 (예 : 상사 또는 동료에게)

단점 :

  • 공개적으로 액세스 가능한 웹 사이트에 노출 된 개인 데이터 (예 : 전화 번호, 지불 정보)

4
안녕하세요, 웹 마스터 님을 환영합니다. 두 명의 동일한 사용자 (?)를 만들고 다른 "Dan"을 사용하여 질문을 편집 한 것 같습니다.이 때문에 승인 대기중인 큐에 있습니다. 질문을하는 사용자는 언제든지 자유롭게 자신의 질문을 편집하고 답변 등에 대한 의견을 작성할 수 있습니다. 다른 "Dan"은 질문을하지 않았기 때문에 이들 중 하나를 수행 할만큼 평판이 충분하지 않습니다.
MrWhite

답변:


8

추가 안전 없이는 아닙니다. 임의의 URL이 항상 크롤링됩니다. 그러나 이는 사인온 페이지를 사용하여 사용자를 인증 할 때 유용합니다.

중간 해결책은 상태 페이지에 개인 데이터가없고 일반 정보 만 포함되도록하는 것입니다. 예를 들어 'John Doe, 123 Blue Street로 배송'대신 'VISA 1234567891로 결제'대신 'PAID BY CC'및 '배송 됨'등이 있습니다.


0

그 데이터를 더 보호해야한다고 생각합니다. 시스템의 단순성에 대해서는 임의의 고유 한 문자열을 가진 공개 URL이 충분하고 편리하다는 데 동의합니다.

그러나 결제 방법 (신용 카드 정보 포함), 이메일 또는 전화가 표시 될 경우 해당 데이터를 보호해야합니다. 또한 세계의 어느 부분에 따라 다르지만 대부분 법적 문제와 사용자 데이터 보호로 확장되어야합니다.

이러한 유형의 상황에서 대부분의 쇼핑 웹 사이트는 자격 증명 (로그인 / 암호) 또는 추적 코드가있는 추적 번호를 요청하거나 사용자 또는 사용자의 신뢰할 수있는 당사자 만 가질 수있는 항목을 요청합니다.


-1

예, 다음과 같은 한 충분합니다.

  1. 링크를 이메일로 보내면 Google에 제출하지 않습니다. 그러나 귀하의 질문에 따르면 귀하가하는 일이므로 Google에서 링크를 알 수있는 방법은 없습니다.

  2. 링크에 사용 된 ID를 임의로 길게 만듭니다. 무작위가 아니지만 ID로 간단한 증분 정수를 사용하는 경우 고객 중 하나가 링크에 증분 간단한 숫자를 입력하면 다른 모든 주문을 읽을 수 있음을 쉽게 알 수 있습니다. 무작위이지만 길이가 충분하지 않은 경우 (4 자릿수 / 문자로 만 만들어 졌다고 가정) 가정 PC에서도 주문을 무차별 공격하기가 쉽지만 (26 + 10) ^ 4 = 1,679,616 개의 가능한 조합. 초당 하나의 링크를 시도하는 스크립트를 실행한다고 가정하면 가능한 모든 링크를 강제로 실행하고 모든 주문을 읽는 데 20 일 미만이 소요됩니다.

  3. 중요 : 보안 강화를 위해 특정 일 수 후 (예 : 1 개월 후) 링크를 삭제해야합니다. 이것이 보안을 유지하는 비결입니다. 이런 식으로 누군가가 귀하의 링크를 무력화하려고 시도하더라도 엄청난 양의 계산 능력이 필요합니다. 그리고 엄청난 양의 계산 능력을 가지고 있더라도 주문을 처리하는 서버가 1 초에 한 번 반복해서 연결을 시도하면 연결을 거부하기 시작할 수 있기 때문에 초당 하나 이상의 링크를 테스트 할 수 없습니다. 참고 : 링크를 삭제한다고해서 DB의 모든 주문을 삭제해야한다는 의미는 아닙니다. orders 테이블 (간단한 자동 증가 int)에 다른 기본 키를 사용할 수 있으며 link_id라는 UNIQUE 필드 (NULL 허용)를 링크에 입력 할 수 있습니다. 한 달 후에는 단순히 link_id의 값을 삭제하고 NULL로 설정하면됩니다. 이 방법으로 주문은 여전히 ​​표에 있고 관리자 패널에서 볼 수 있지만 주문 페이지를 직접 볼 수있는 직접 링크는 더 이상 유효하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.