2010-07-25 23 views
35

Tôi muốn cho phép khách hàng của mình nhập thông tin thẻ tín dụng của họ để tôi có thể tính phí cho họ hàng tháng.Lưu thông tin thẻ tín dụng vào cơ sở dữ liệu MySQL?

Tôi tự hỏi làm cách nào để lưu thông tin này?

Nếu nó được lưu trong cơ sở dữ liệu MySQL (bảng "người dùng") hoặc loại thông tin này quá nhạy cảm và cần được lưu trữ ở một nơi khác?

Tôi không có kinh nghiệm về điều này và sẽ rất vui nếu ai đó có thể tư vấn cho tôi cách thực hiện việc này.

Cảm ơn.

+18

Tùy thuộc vào luật áp dụng cho nơi bạn điều hành doanh nghiệp của mình, thậm chí có thể * bất hợp pháp * để lưu trữ số thẻ tín dụng theo cách này. Hãy cẩn thận, hãy nói chuyện với ngân hàng của bạn và/hoặc đại diện pháp lý. –

+0

là nó có hợp pháp không? trong hầu hết các trường hợp, chúng tôi sử dụng Paypal và ccavenue cho giao dịch trực tuyến. nếu bạn đã lưu trữ thông tin thẻ tín dụng mà bạn cần bảo mật hơn cho chúng. –

+1

Không. (Ý kiến ​​của tôi là một lập trình viên và là người mua.) –

Trả lời

73

Như đã đề cập ở trên, không lưu trữ thông tin thẻ tín dụng trong cơ sở dữ liệu. Đó là một công thức cho rắc rối. Làm như vậy sẽ khiến bạn trở thành một mục tiêu rất hấp dẫn đối với tin tặc và, nếu họ thành công trong việc truy xuất chúng, kết thúc công việc kinh doanh của bạn và có khả năng hủy hoại cuộc sống của bạn cũng như cuộc sống của những người có số thẻ tín dụng bị đánh cắp.

Có nói rằng đây là ba điều cần xem xét:

1) Tốt nhất là sử dụng một cổng xử lý thanh toán/thanh toán mà cung cấp thanh toán theo định kỳ. Một ví dụ về điều này là Authorize.Net's Automated Recurring Billing dịch vụ. Khi bạn đã thiết lập đăng ký, họ sẽ tự động lập hóa đơn cho người dùng mỗi tháng cho bạn một cách tự động và cho bạn biết kết quả của giao dịch. Nó giúp bạn tiết kiệm rất nhiều công sức và giúp bạn tiết kiệm trách nhiệm lưu trữ thông tin thẻ tín dụng.

2) Nếu bạn lưu trữ số thẻ tín dụng của cửa hàng, bạn phải theo dõi PCI guidelines. Những hướng dẫn này được thiết lập bởi ngành công nghiệp thẻ thanh toán và xác định những gì bạn có thể và không thể thực hiện. Nó cũng xác định cách lưu trữ thông tin thẻ tín dụng. Bạn sẽ cần mã hóa số thẻ tín dụng và bạn không cần, mã hóa thông tin liên quan (ngày hết hạn, v.v.). Bạn cũng sẽ được yêu cầu để đảm bảo rằng máy chủ web và mạng của bạn được bảo mật. Không tuân thủ PCI tuân thủ sẽ dẫn đến mất tài khoản thương gia của bạn và bị cấm có một tài khoản thương gia thực sự mãi mãi. Điều đó sẽ hạn chế bạn sử dụng bộ xử lý của bên thứ ba ít linh hoạt hơn. Hãy nhớ rằng hướng dẫn PCI là một khởi đầu tốt nhưng hầu như không "làm thế nào để" khi nói đến bảo mật trực tuyến. Mục tiêu của bạn sẽ vượt quá đề xuất (rất nhiều).

3) Luật tiểu bang thay thế sự tuân thủ PCI. Nếu bạn bị vi phạm và số thẻ tín dụng bị đánh cắp, bạn có thể bị truy tố hình sự. Các luật lệ khác nhau giữa các tiểu bang và liên tục trong thông lượng như các nhà lập pháp chỉ mới bắt đầu nhận ra mức độ nghiêm trọng của vấn đề này.

Theo như mã hóa, hãy đảm bảo bạn đọc kỹ thuật toán mã hóa nào an toàn và chưa bị hỏng. Blowfish là một khởi đầu tốt và nếu bạn sử dụng PHP, mcrypt library được đề xuất (example).

+0

Nơi tốt nhất để tìm luật pháp địa phương ở đâu? –

+0

Thông tin rất hữu ích John. –

+1

Square.com có ​​API gọn gàng. Họ sẽ lưu trữ thông tin thẻ theo cách tương thích với PCI cho bạn. – AjaxLeung

15

Cách an toàn nhất là KHÔNG cửa hàng thông tin thẻ tín dụng trên hệ thống của bạn, nhưng hãy để một nhà cung cấp thanh toán của bên 3 thứ làm điều đó cho bạn.

+0

như thế nào? cái nào? u có thể cung cấp cho tôi một số thông tin hơn –

+0

Bằng cách đó, tất cả các vấn đề pháp lý sẽ xảy ra với bên thứ 3. –

+1

+1 - trừ khi khách hàng của bạn tuân thủ PCI, www.pcicomplianceguide.org/pcifaqs.php, thì đừng làm vậy. Bạn có thể khiến bạn và khách hàng của bạn trở thành một thế giới bị tổn thương. Sử dụng một bộ xử lý thanh toán như PayPal (nhưng lệ phí của họ là thái quá), GoogleCart, Authorize.net – gnome

6

Không bắt buộc bạn sử dụng nhà cung cấp thanh toán bên thứ 3 như PayPal, v.v. - nhưng bạn cần phải là PCI compliant nếu bạn định lưu trữ thông tin thẻ thanh toán. Đọc bài viết này về BC Ferries, who face substantial fines for not keeping up to date with PCI compliance để hiểu mức độ nghiêm trọng của việc tuân thủ PCI.

Chủ nhân hiện tại của tôi đang tuân thủ sự tuân thủ PCI - đây không phải là quy trình tầm thường và yêu cầu nhân viên kiểm toán. Việc thi hành phụ thuộc vào luật pháp quốc gia và tiểu bang/tỉnh - Canada IIRC yêu cầu bạn phải được PCI chứng nhận bởi ủy ban PCI được tuyển dụng, trong khi một số tiểu bang ở Hoa Kỳ cho phép các công ty kiểm toán tuân thủ PCI phục vụ thay cho ủy ban PCI.

Các vấn đề liên quan