En mi sitio de Django, utilicé Stripe para integrar los pagos en un archivo .js .
Noté que este archivo aparece en Fuentes en las herramientas de desarrollo cuando "Inspecciona el elemento" en cualquier navegador. Cualquiera puede acceder a este archivo (miedo).
¿Cómo puedo reestructurar la organización de mi archivo para que apple-pay.js no sea público?
home.html
{% load static %} <!DOCTYPE html> <html> <head> // Scripts for CSS and Stripe Pay </head> <body> <section> <div id="payment-request-button" data-amount="{{event.price}}" data-label=". {{event.public_name}}"> <!-- A Stripe Element will be inserted here if the browser supports this type of payment method. --> </div> <div id="messages" role="alert"></div> </section> </body> </html> apple-pay.js
document.addEventListener('DOMContentLoaded', async () => { const stripe = Stripe('pk_mykeyishere'); //need to protect this information and the other functions from bad actors ///functions I run here });Mi estructura de archivos:
├── Procfile ├── README.md ├── db.sqlite3 ├── interface │ ├── migrations │ ├── models.py │ ├── static │ │ ├── apple-developer-merchantid-domain-association │ │ └── interface │ │ ├── apple-pay.js <------------------ │ │ ├── CSS/other JS files │ ├── templates │ │ └── interface │ │ ├── home.html <------------------- │ ├── urls.py │ └── views.py ├── manage.py └── AppName ├── settings.py ├── urls.py └── wsgi.pyNo puede ocultar el código JavaScript de los usuarios del navegador, solo puede minimizarlo u ocultarlo para que sea más difícil de leer y comprender para las personas.
La integración de Stripe no requiere que coloque datos confidenciales en ningún archivo JavaScript. Debe usar esos datos en el lado del servidor.