Sebbene la politica della stessa origine possa impedire a un utente malintenzionato di accedere al contenuto iFrame legittimo, il problema è che l'utente non ha modo di verificare che stiano effettivamente interagendo con l'iFrame legittimo (a meno che non si passi alla fonte che gli utenti non lo faranno). Un utente malintenzionato potrebbe altrettanto facilmente sostituire la sorgente iFrame con una pagina di phishing e ottenere in questo modo gli estremi della carta di credito dell'utente.
Entrambi i gateway basati su iFrame e JS sono vulnerabili a circa gli stessi problemi, quindi direi che sono entrambi insicuri rispetto ai gateway ospitati. I vantaggi dei gateway ospitati sono:
- L'utente può verificare l'URL per essere sicuro con chi sta interagendo con
- L'utente può convalidare il certificato e la crittografia SSL / TLS per essere ancora più sicuro su chi sta interagendo con
- Un gateway di pagamento gestito da una banca è molto probabilmente testato per le vulnerabilità meglio di qualche sito arbitrario.
- Gli utenti possono essere ragionevolmente sicuri dell'integrità dei loro dettagli di pagamento se i totali, ecc. vengono visualizzati dal gateway esterno. Rispetto al sito in cui il sito potrebbe dire che ti addebiteranno una cosa e poi ti caricheranno un'altra.
D'altro canto, il trasferimento degli utenti a un gateway di pagamento esterno è considerato una cattiva esperienza utente e l'interfacciamento con un processore di pagamento in modo sicuro sul lato server è complicata, quindi vengono fatti dei compromessi e questi gateway basati su JS stanno diventando popolari.