Estoy creando una tienda utilizando ActiveCenter de Active Merchant y PayPal ahora mismo. Parece estar funcionando bien, pero no creo que sea remotamente seguro. Realmente no sé mucho sobre HTTPS y cómo implementar conexiones seguras.Cómo crear una puerta de enlace de tarjeta de crédito segura usando paypal/ruby on rails/active merchant
Actualmente estoy pasando la tarjeta de crédito y la información de facturación en la sesión (probablemente no es la idea más inteligente). Mi código actual se publica a continuación. Realmente necesito ayuda con la dirección y los pasos a seguir para hacer de esta una tienda segura y utilizable.
def payment
session[:billing_address] = params[:billing_address]
end
def summary
@credit_card = params[:credit_card]
session[:credit_card] = params[:credit_card]
@billing_address = session[:billing_address]
@cart = get_cart
@purchases = @cart.purchases
@total = @cart.total
end
def finish
@cart = get_cart
@total = @cart.total
credit_card = ActiveMerchant::Billing::CreditCard.new(session[:credit_card])
billing_address = session[:billing_address]
flash[:notice] = credit_card.errors and return unless credit_card.valid?
gateway = ActiveMerchant::Billing::PaypalGateway.new(:login=>$PAYPAL_LOGIN, :password=>$PAYPAL_PASSWORD)
res = gateway.authorize(@total, credit_card, :ip=>request.remote_ip, :billing_address=>billing_address)
if res.success?
gateway.capture(@total, res.authorization)
flash[:notice] = "Authorized"
else
flash[:notice] = "Failure: " + res.message.to_s
end
end
Bien. Pero está bien pasar información de la tarjeta de crédito a la vista en la sesión. ¿Eso es lo suficientemente seguro? Además, ¿cómo hago que funcione con https. – Sam
Si desea que todo el sitio se ejecute en HTTPS, la manera más fácil sería ejecutar su aplicación Rails con Passenger (http://www.modrails.com/) y luego tener Apache para usar HTTPS para el host virtual que usted ' volver a ejecutar (http://www.securityfocus.com/infocus/1818) –
En cuanto a si pasa la información de la tarjeta de crédito usando la sesión. Recuerdo haber leído que toda la información de la sesión está encriptada, y que con ella usa la clave de autenticación en los formularios, pero no soy una autoridad en esa área. –