Domanda:
Tutti 0 (zero) nel codice CVC di una carta bancaria
Vlad Nikiforov
2018-12-23 02:30:54 UTC
view on stackexchange narkive permalink

La mia carta di credito è scaduta di recente. Ne ho uno nuovo e questo si è rivelato "fortunato": il suo codice CVC era 000”.

CVC code is 000

Per alcuni mesi l'ho utilizzato ampiamente, sia online che offline, senza alcuna difficoltà, fino al giorno in cui ho inserito i dati della mia carta su Booking.com. Ho compilato il modulo, ho cliccato su "invia" - solo per vedere la pagina scartare il valore nel campo CVC e chiedere di inserirlo di nuovo.

Ho contattato l'assistenza. Hanno confermato che il codice CVC "000" non è accettabile perché non è considerato abbastanza sicuro (sfortunatamente non una citazione esatta, poiché la conversazione era in estone) e hanno suggerito di ordinare una nuova carta bancaria in cui il codice CVC sarebbe diverso da "000".

Mi ha lasciato perplesso. Come ex tester, sono abbastanza abituato a situazioni in cui penso di segnalare un bug e poi mi è stato detto che in realtà è una funzionalità, ma questa volta è stato un po 'contro il buon senso. Il mio lavoro attuale è anche relativo alla sicurezza delle informazioni e posso pensare a tre motivi per cui la loro affermazione non ha senso:

  1. CVC non è solo un numero casuale, c'è un certo algoritmo di generarlo. Ciò, a sua volta, significa che tutti i valori sono ugualmente probabili e alcuni numeri determinati non possono essere esclusi da esso.
  2. Ho già utilizzato questa scheda con una serie di altri servizi online, tra cui Amazon Web Services , la cui sicurezza è fuori dubbio.
  3. Non capisco bene cosa significhi "non abbastanza sicuro". "111" o "999" sono abbastanza sicuri? In caso contrario, che ne dici di "123" o "234"? Ancora una volta, non è qualcosa che scelgo io stesso, è qualcosa che mi viene dato da una banca e se la banca pensa che sia sicura, allora deve essere trattata come tale.

La loro risposta è stata molto gentile ma non molto utile: " Comprendiamo perfettamente la tua frustrazione e siamo davvero dispiaciuti di averti causato disagi. Abbiamo consegnato il tuo ragionamento alla nostra direzione - hanno risposto che 000 è considerato non valido e questo è anche un modo in cui le banche indicano che la carta è un falso ".

Ho inoltrato la catena di posta alla mia banca e ho chiesto il loro consiglio. Mi hanno detto che avrebbero emesso una nuova carta gratuitamente, il che ha risolto il problema per me.

Tuttavia, mi chiedo ancora:

  1. Esistono regolamenti / prescrizioni ufficiali (da Visa / MC o altrove) o qualsiasi best practice riguardante i codici CVC / CVV "tutto zero"? Soprattutto quella parte sulle banche che presumibilmente usano 000 come indicazione di un falso - mi suona come una totale assurdità. Ho provato a cercare su Google, ma non sono riuscito a trovare nulla.
  2. Da un punto di vista pratico, quanto è ragionevole rifiutare "000" come insicuro? Ho elencato le mie preoccupazioni sopra, ma forse mi manca qualcosa?

Aggiornamento : scelta difficile su quale risposta accettare ... Mi è piaciuto il risposta da Alexander O'Mara molto - è dettagliata e pertinente. Anche l'ultima revisione della risposta di Harper sembra molto ragionevole. Eppure alla fine ho deciso di accettare la risposta di Zoey: sembra la più pertinente, in quanto, oltre a tutto il resto, getta anche un po 'di luce sugli interni dell'attività alberghiera.

Grazie tutti per le vostre risposte e commenti! Quello che farò ora è contattare di nuovo l'assistenza di Booking.com e insistere per risolvere il problema. Ti informerà del risultato.

Aggiornamento 2 : dopo diversi mesi di tentativi di contattare l'assistenza di Booking.com mi arrendo ufficialmente. Non sono andato oltre un numero infinito di ticket di supporto che non sono stati nemmeno confermati, per non parlare della reazione a cui ho risposto e un paio di telefonate in cui ho spiegato la situazione e non ho ricevuto altro che un'e-mail in scatola "ci stiamo provando molto difficile risolvere il tuo problema ". Conclusione: il supporto di Booking.com non funziona - a meno che il tuo problema non sia molto standard, non verrà risolto né inoltrato a una dirigenza superiore.

Il bug esiste ancora. Ora sono sicuro che non è altro che un bug del software, perché CVC "000" è perfettamente accettato quando aggiungi una nuova carta, ma non funziona quando cerchi di aggiornare una carta scaduta (o comunque non valida). Ecco i passaggi di riproduzione:

  1. Crea una nuova prenotazione che richiede il pagamento immediato.
  2. Inserisci una carta non valida (scaduta o bloccata).
  3. Quando il il sistema invia una notifica che la carta non può essere elaborata, seleziona "aggiorna i dettagli della carta" e inserisci i dettagli di una carta valida con codice CVC 000.

Risultato previsto: i dati della carta vengono accettati per ulteriori elaborazioni.

Risultato effettivo: il codice CVC inserito viene scartato e la finestra di dialogo si lamenta che il codice CVC non è stato inserito.

Il tuo ragionamento è del tutto corretto, questo è il lungo e il corto.Sembra che "booking.com" impieghi alcuni manager idioti (scommetto che non è stata una decisione ingegneristica).
"hanno risposto che 000 è considerato non valido, e questo è anche un modo in cui le banche indicano che la carta è un falso" Vorrei sapere perché una banca dovrebbe produrre una carta falsificata con 000 sopra
@MikeCaron Sebbene una banca non farebbe una carta falsificata, potrebbe avere motivo di crearne una deliberatamente non valida, proprio come i film hanno bisogno di numeri di telefono deliberatamente non validi.
Va bene e del tutto irrilevante per la citazione a cui stavo rispondendo.Le carte campione (come suggerisci) non sono la stessa cosa dei falsi.La persona che sostiene che "è stata la banca" sta suggerendo che in qualche modo la banca è in grado di fare in modo che la carta abbia 000 per il suo CVV, il che sarebbe impossibile se la banca non avesse anche prodotto la carta.Forse stanno falsificando le carte di altre banche ...
@Jérôme, potrei (la carta è stata disattivata al momento della riemissione), ma sono curioso di cosa esattamente ti aspetti di vedere dall'altra parte :)
Come speculazione selvaggia, booking.com aveva un bug in cui il codice non poteva distinguere tra qualcuno che immette 000 e qualcuno che lasciava il campo vuoto.Invece di ripararlo correttamente, rifiutano 000 come CVC.Il programmatore dovrebbe essere licenziato, ma non hai questa opzione.A mio avviso, puoi utilizzare un fornitore diverso per gli hotel o chiamare la tua banca e dichiarare la carta smarrita / rubata.Emetteranno una nuova carta con un nuovo numero.Con un po 'di fortuna il CVC non sarà 000
Per quel che vale, "un modo in cui le banche indicano che la carta è un falso" * potrebbe * essere una forma confusa / mal formulata per cercare di esprimere che è il modo in cui le banche * riconoscono * alcuni * falsi (che sono abbastanza pigri da non preoccuparseneproducendo un numero dall'aspetto meno speciale).
Odio dirlo ma la risposta di @Harper's è probabilmente quella corretta.Il rasoio di Occam dovrebbe applicarsi qui;Le risposte di Zoey e Alexander sono plausibili, ma alla fine stanno solo innestando una logica artificiosa su un semplice bug del software.Ciò è aggravato dal fatto che nessuno con cui potresti mai parlare su una linea di servizio clienti saprebbe qualcosa sulla progettazione del back-end del sistema, né potrebbe nemmeno sperare di raggiungere qualcuno del team di sviluppo web anche se lo volesse.
pignolo minore: il fatto che il CVC sia calcolato con un algoritmo deterministico non è sufficiente per dimostrare che tutti i valori sono possibili e ugualmente probabili.
@WesSayeed, Sono d'accordo che probabilmente si tratta di un bug, trasformato in una funzionalità da una gestione ostinata e pigra.Ecco perché ho intenzione di fare un altro tentativo e insisto per farlo riparare.
@VladNikiforov Se non sono disposti a risolverlo, scrivi semplicemente questa storia su un sito Web appropriato (ad es. Medium.com), quindi condividila sui social media appropriati (ad es. / R / programming su reddit).La quantità di vergognose prenotazioni che.com riceverà per la loro incompetenza li costringerà a risolverlo.
* Amazon, la cui sicurezza è fuori dubbio * - wut?E lavori in questo settore?
@Mazura, Probabilmente avrei dovuto essere più specifico: intendevo AWS.Non ho esperienza con il resto di Amazon, ma AWS non ha mai generato dubbi.
Il CVC è considerato riservato, simile al PIN.Dato che l'hai condiviso qui, assicurati di averne uno nuovo.
Alcune nuove carte hanno un CVV dinamico (DCV), che cambia ogni mezz'ora circa ... Se hai una carta del genere e viene visualizzato 000, aspetta solo che venga visualizzato il CVV successivo.
Contatta la rete della tua carta (Visa / Mastercard) e presenta un reclamo che il sito rifiuta intenzionalmente di accettare la tua carta valida.Visa ha argomenti abbastanza grandi da fargli correggere il codice.Il sito mostra il logo in base a un determinato contratto e un rifiuto infondato probabilmente lo viola.
@Luc O peggio, questa è stata la decisione di un ingegnere pigro / inetto.
Questo significa che booking.com rifiuta 1 carta di credito valida su 1000, supponendo che tutti i CVC abbiano la stessa probabilità?
Supponendo che la sicurezza di Amazon non debba essere messa in dubbio è un difetto, Amazon gestisce i rischi utilizzando assicurazioni e il fatto che possono accettare frodi in una certa misura finché la maggior parte dei clienti è felice.Amazon utilizza persino DB non ACID per gestire gli stok in quanto possono gestire eventuali errori di stock rimborsando o offrendo qualcos'altro al proprio cliente.
Durante la progettazione delle macchine Enigma, i tedeschi gli hanno impedito di utilizzare qualsiasi permutazione in cui una lettera fosse mappata su se stessa, perché non * sembrava * sicura.Ciò ha fornito ai crittografi Allied un modo semplice per escludere rapidamente un numero elevato di chiavi candidate.Se le permutazioni che * sembravano * insicure fossero state consentite, è del tutto possibile che Enigma non sarebbe mai stato rotto.L'unica cosa che proibisce a 000 è dare agli aggressori un set più piccolo da cui indovinare.
@MrWhite Aggiornato il post per indicare specificamente AWS, non solo Amazon.Ci scusiamo per non averlo chiarito in primo luogo.
@Colin'tHart: è probabile che booking.com rifiuti anche di più, perché le prenotazioni di hotel sono un'area di frode molto alta e il loro rilevamento di frode probabilmente ha un numero non trascurabile di falsi positivi.Ma è anche possibile che alcuni emittenti di carte di credito non emettano intenzionalmente carte con 000 come CVV, quindi potrebbe non essere il caso che 1 carta su 1000 abbia 000 come CVV.
@Luc Sarei assolutamente scioccato se questa non fosse una cattiva decisione / bug di ingegneria che un manager in seguito ha frainteso o su cui ha mentito.Ci sono indubbiamente molti siti che trattano l'input come un numero intero invece di una stringa, visualizzando "000" come "0", e tratterebbero "0" come non valido o come valore predefinito che non rappresenta nulla che viene inserito.
Ho appena cercato su Google perché sono alla fine di questa situazione.Il nostro processore di pagamento che gestisce le transazioni rifiuta automaticamente la transazione come un codice di sicurezza non valido, è un importante processore di pagamento.Ho sostenuto la stessa cosa, il suo codice dato alla carta che può essere verificato, ma è un rifiuto automatico.
Sette risposte:
#1
+186
Zoey
2018-12-23 07:21:42 UTC
view on stackexchange narkive permalink

Alexander O'Mara ha fornito una risposta corretta, ma avendo lavorato in un hotel che utilizzava booking.com, credo di poter fornire ulteriori informazioni sul motivo per cui CVV è stato negato.

Ogni giorno l'hotel in cui ho lavorato riceveva circa 50 prenotazioni, un quarto di queste prenotazioni utilizzava dettagli di carte di credito false e circa il 90% delle persone che utilizzavano dettagli di carte di credito false non si presentava.

Ciò ha comportato molte congetture durante l'assegnazione delle stanze, spesso tentavamo di indovinare se la persona si presenterà solo in base ai dettagli della sua carta di credito e, a volte, prendiamo anche in considerazione il nome, rimarranno molti giorni, ecc. Proveremo anche a chiamare il giorno prima per confermare le prenotazioni, in modo che queste prenotazioni false comportino una minima interruzione dell'attività.

Il blocco di CVV 000 è solo una prenotazione. il pigro tentativo di com di ridurre la quantità di prenotazioni false. Anche alcuni altri CVV sono bloccati.

Il motivo per cui booking.com blocca il CVV e altri siti web non lo fanno è perché altri siti web generalmente tentano di addebitare immediatamente la carta di credito, mentre booking.com inoltra solo le informazioni a gli hotel che addebitano la carta di credito il giorno dell'arrivo.

Perché mai gli hotel non pre-autorizzano la carta di credito?Potrebbero fare un minimo di $ 1 (come viene utilizzato per la verifica di prova gratuita) e interrompere immediatamente questo problema, e ciò non causerebbe l'effetto collaterale di massimizzare le carte con limite basso o di debito là fuori.
-1
Stai dicendo che una piattaforma online di successo come booking.com non gestisce la pre-autenticazione per i propri clienti paganti (ovvero gli hotel)?
In realtà sembra facoltativo: https://partnerhelp.booking.com/hc/en-gb/articles/115003200353?utm_source=checkin&utm_medium=link&utm_content=preauthorisation
Ma leggendo questo commento, perché diavolo un truffatore ti darebbe 000 come CVV?Dato che non viene controllato oltre "000 sembra sospetto", perché non utilizzare 472 come CVV o uno qualsiasi degli altri 999 numeri possibili?
Questa spiegazione sulla gestione dei dati delle carte di credito da parte di booking.com solleva per me la domanda se il loro processo sia effettivamente conforme allo standard PCI DSS o violi.Si potrebbe obiettare che non autorizzano e quindi non sono in violazione ("I dati sensibili di autenticazione non devono essere archiviati dopo l'autorizzazione (anche se crittografati)."), Ma questo sembrerebbe un modo piuttosto brutto di trattare con carte di credito sensibiliinformazione...
@gnasher729: Beh, non lo sapevano.Ora, dopo che questa risposta è stata pubblicata, d'altra parte ...;)
@Lucero Questa procedura è standard per i viaggi.Se prenoti un volo, la compagnia aerea è quella che addebita la tua carta, non il sito di viaggi, stai andando da un "agente" di viaggio non "rivenditore".Hotel, crociere, noleggio auto sono gli stessi.L'unica eccezione è quando acquisti una tariffa opaca fortemente scontata (Priceline, Hotwire, pacchetti, ecc.).
IMO, la convalida buggy come `if (! (Int (cvv) && checkCvv (cvv))) {return" Non è un CVV valido "}` è una spiegazione molto più probabile del perché questo è stato rifiutato piuttosto che essere una deliberata decisione di progettazione della sicurezza.
Questo mi fa chiedere se OP avrebbe potuto inserire qualsiasi altro valore come CVV e ottenere con successo la prenotazione.Se sì, dovrebbe essere risolto in un secondo momento con l'hotel ("_oh scusa, è stato un errore di battitura_").In caso contrario, significa che c'è un assegno più forte dopo, rendendo irrilevante l'assegno "000" ... Beh, tranne forse se l'assegno più forte è un servizio a pagamento, il che è anche possibile.Probabilmente non ne parlerebbero se fosse così, immagino.
@gnasher729: Non credo che il 25% di coloro che utilizzano numeri di carte di credito falsi per prenotare hotel senza presentarsi siano truffatori.
Perché esattamente i truffatori prenoterebbero hotel e non si presenterebbero?È un modo per vedere se la carta di credito è ancora valida?Sembra sciocco se finisce per non essere addebitato comunque b / c non si sono presentati.
Sono curioso di sapere se i luoghi evitano di fare il sistema di addebito di $ 1, perché costa loro denaro.Un fornitore di carte di credito di solito addebita almeno il 3% per elaborare la transazione con la carta.Se hanno addebitato $ 1 e lo hanno rimborsato, potrebbero ricevere solo 97c e poi restituire $ 1, perdendo 3c.Ciò potrebbe costare loro un sacco di soldi a lungo termine se vengono utilizzate carte false (ma viene assegnata una dotazione di $ 1 per sembrare valide).
@RichardDuerr dipende quanto hai perso per una prenotazione falsa immagino?Immagino che perdano più di 3 centesimi per prenotazione falsa
@Patrice Sì, direi che l'hanno fatto (perdita di lavoro, possibilità di stampa, tempo, ecc.).L'ho semplicemente semplificato per rendere più facile il grok.
Questa risposta dipende dal presupposto che 000 si traduca in una prenotazione falsa.Ma non fornisce alcun ragionamento su come questi due siano collegati.L'ho letto come "Perché indossi un maglione verde? Perché la mamma dorme".Ha bisogno di stabilire un collegamento, come "tutti gli altri miei maglioni fanno rumore quando mi muovo"
@Lucero tecnicamente, se booking.com non addebita affatto le carte di credito, non dovrebbero essere conformi allo standard PCI DSS, in quanto è uno standard privato.Ma è decisamente assurdo memorizzare un CCV e trasmetterlo a una terza parte - di certo non userei mai un servizio del genere.Se nessuno può essere disturbato a occuparsi delle carte di credito, il minimo che potrebbe fare è usare Stripe e non dover mai toccare i dati
@aidanh010 Beh, immagino perché, sorprendentemente, le carte di credito e di debito non funzionano allo stesso modo in tutto il mondo.Recentemente ho acquistato qualcosa da un commerciante statunitense con la mia carta di debito argentina.Quindi l'ordine è stato annullato e l'addebito non è stato rimosso.Il commerciante mi ha detto che non hanno addebitato la mia carta, ma hanno solo messo un'autorizzazione su di essa.Le mie banche mi hanno detto che le carte di debito in Argentina non effettuano autorizzazioni, ma solo addebiti.Ora i miei soldi sono in un limbo e 2 mesi dopo non sono ancora in grado di riaverli.
@gnasher729 Sospetto che il problema qui non sia truffatori intelligenti e motivati, se il 90% delle voci con dettagli falsi non viene visualizzato.000 è probabilmente solo la persona pigra.
Gli hotel @RichardDuerr normalmente non userebbero un addebito per "controllare" una carta;imposterebbero una [sospensione di autorizzazione] (https://en.wikipedia.org/wiki/Authorization_hold) per il costo base del soggiorno, assicurandosi che sulla carta possa essere addebitato almeno tale importo alla fine del soggiorno.Non ho idea del motivo per cui qualsiasi hotel non dovrebbe eseguire questa procedura semplice e comune.
#2
+148
Alexander O'Mara
2018-12-23 03:57:23 UTC
view on stackexchange narkive permalink

L'unico argomento debole a cui riesco a pensare per rifiutare un simile CVV sarebbe che se qualcuno stesse provando a forzare il tuo codice a 3 cifre, potrebbe iniziare con 000 prima (ma rifiuterebbero anche 001?).

Dal punto di vista pratico, quanto è ragionevole rifiutare "000" come insicuro?

Non è veramente ragionevole. O puoi caricare la carta con il codice CVC / CVV fornito o non puoi. Non c'è alcun motivo valido per rifiutare questo codice, poiché è valido e non puoi essere veramente sicuro che i codici di una carta di credito siano validi finché non provi effettivamente ad addebitarlo.

Purtroppo, input mal progettato la convalida è fin troppo comune. Alcuni sviluppatori hanno la tendenza a presumere che determinati valori non siano validi senza controllare le specifiche o a non testare correttamente le loro convalide di input.

Alcuni esempi includono:

  • Indirizzo IP 1.1.1.1
  • Bug di controllo della versione come "10" < "9" se solo il primo carattere della stringa sta controllando
  • Nomi con caratteri non alfabetici (come l'apostrofo nel mio nome)

Inoltre, non è raro che le persone nel servizio clienti rispondano alle tue segnalazioni di bug con qualcosa del tipo "questo non è un bug, è una caratteristica" senza nemmeno consultare gli sviluppatori.

`var cvv = parseInt (form.cvv);if (! cvv) markInvalid () `
La cosa 1.1.1.1 è anche peggio, perché le persone sapevano che si trattava di un indirizzo IP e hanno deciso che avrebbero deciso unilateralmente per il NIC che sarebbe rimasto inutilizzato per sempre.
@MikeCaron Purtroppo, ho potuto vedere anche me stesso commettere questo errore e non prenderlo fino a quando non è arrivata una chiamata di supporto ... ma è il codice JS effettivo di Booking.com?
Un altro evento comune sono i campi di input troppo brevi per cose come indirizzi e-mail, indirizzi postali, password.Un indirizzo e-mail può contenere fino a 256 caratteri, ma ho visto più siti utilizzando un campo di 30 caratteri.E i campi della password di 20 caratteri non sono rari.
Puoi aggiungere alias email (indirizzo + [email protected]) al tuo elenco di esempi, molto fastidioso quando qualcuno decide di essere più sicuro senza un motivo valido
Ricordo che alcune app avevano problemi significativi in esecuzione su MacOS 10.4.10 perché il loro codice richiesto diceva 10.4.2 e un controllo errato indicava che 10.4.10 era precedente a 10.4.2.
@gnasher729 è anche il motivo per cui non c'era Windows 9. Troppi programmi controllano se il sistema operativo è Windows 95 o 98 controllando se "Windows 9" è nel nome del sistema operativo.
@FelipePereira Ogni volta che mi imbatto in un sito Web che non accetta alias e-mail, vorrei che ci fosse un pulsante "pugno il programmatore che ha scritto questo in faccia".
@MikeCaron Se questo è il JS effettivo, sarei molto tentato di provare ad aggirarlo nel browser e vedere se il back-end corrisponde alla stessa convalida.(L'ho fatto con successo in circostanze diverse ma simili ... a volte voglio solo inviare un file di patch .......)
Il mio TLD di quattro lettere causa problemi di convalida della posta elettronica su alcuni siti Web particolarmente stupidi.
Continuo a pensare a Enigma nella seconda guerra mondiale.La macchina Enigma non poteva codificare una lettera come se stessa.Il cablaggio della macchina lo proibiva.Quello che all'inizio suona come buon senso è in realtà una vulnerabilità che è stata sfruttata per violare gli algoritmi utilizzati.https://youtu.be/V4V2bpZlqx8
Amico, con il nome come il tuo SQL injection è nel tuo futuro :) Ma seriamente, è solo una codifica pigra, questo è tutto.Il primo commento lo riassume abbastanza bene.
@c00000fd * "SQL injection è nel tuo futuro" * E ancora di più nel mio passato.: p (Fortunatamente, le cose sembrano migliorare, poiché rompo meno cose che facevo prima)
@EricDuminil AFAIK, con "troppi programmi" intendevano semplicemente "Java".
@ChrisCirefice Ero uno scherzo che ho scritto, ma non posso escludere che possa anche essere rappresentativo del codice effettivo
L'indirizzo e-mail "+" come indirizzo e-mail valido ma spesso considerato non valido è quello che amo.Una volta ho chiesto a un'azienda di modificare la convalida dopo che mi ero già registrato con un indirizzo xxxx + [email protected] a inviarmi messaggi di cui non avevo bisogno, ma non riuscivo ad accedere per disattivarlo.E la loro risposta quando ho chiesto loro di aiutare quando non riuscivo ad accedere è stata "iscriviti di nuovo".Quando alla fine ho minacciato di denunciarli per aver inviato SPAM (poiché non potevo rinunciare), hanno magicamente trovato un modo per aiutare
@EricDuminil ma mi piaceva credere che non ci fosse vittoria 9 perché 7 mangiava 9> :( You party pooper.
#3
+93
Harper - Reinstate Monica
2018-12-24 01:42:44 UTC
view on stackexchange narkive permalink

Questa è una sfida quadro delle affermazioni dell'azienda. Un numero casuale nell'intervallo 000-999 è più sicuro di 001-998, il rifiuto di valori lo indebolisce .

È un bug del software. Non possono ammetterlo.

Solo un esempio: diciamo, da qualche parte nello stack, usano una lingua con variabili non tipizzate (cioè dove la stessa variabile può contenere 123.45, "late for dinner", una stringa di 0 caratteri, un "token, ecc.). È normale scrivere questo:

if ($ CVC) # è il campo CVC presente?

In un linguaggio non tipizzato, una stringa vuota restituisce 0 ( false) come intendeva il programmatore, ma anche 000! Ci sono modi migliori per farlo.

In questo caso, sappiamo che il problema non è nell'interfaccia utente web pubblica che utilizzi, ma nella piattaforma back-end condivisa da entrambi. L'agente dovrebbe aprire un bug su di esso nel sistema di ticketing.

Allora perché hanno affermato ciò che hanno detto? Perché le normali attività commerciali sono molto riluttanti ad ammettere questo tipo di errore strutturale che le fa sembrare incompetenti. Ma non possono nemmeno mandarti via con un "Non lo so", poiché ha lo stesso effetto. Quindi hanno bisogno di dirti qualcosa in questo momento che sembra vendibile a loro.

Ovviamente è sbagliato; come dimostrato da tutte le altre persone con cui fai affari che non hanno problemi con esso. Ma provalo tu stesso; prova una piattaforma di prenotazione concorrente e guarda come va.

La stringa "000" non restituisce false in Perl, Python o JavaScript.
Bene, in JavaScript, se confronti "" 000 "` con false ("" 000 "== false`) con solo 2 segni di uguale, restituirà" true ".
È più probabile che si tratti di ciò che dice Mike Caron: `if (! To_number (input)) reject ()`.Il numero zero è falso sia in Javascript che in PHP.
@Birfl senza sapere quale lingua viene utilizzata, questa potrebbe essere assolutamente una risposta valida, soprattutto considerando che JavaScript è traballante come questo.Guarda qualcuno il cui cognome è letteralmente "Null" https://www.wired.com/2015/11/null/
@Blrfl certo, se la digiti forzatamente come una stringa.Ma se solo * miri * a farlo, ma sbagli nella tua comprensione di come la lingua analizza ... Che ne dici di * scalare * '000'?
@WernerCD Certo, se ti capita di usare un linguaggio che si comporta in quel modo.Questa risposta trae conclusioni basate su fatti non in evidenza e fa una generalizzazione sui linguaggi tipizzati dinamicamente che non vale per tutti loro.Penso di essermi appena convinto a un voto negativo.
@Blrfl Penso che il punto principale sia che ci sono possibilità su come uno stack web moderno potrebbe FACILMENTE rompersi nei casi limite - intenzionalmente o accidentalmente.C'è codice sul back-end, sul middle end, sul front-end, ecc. Che potrebbe TUTTI facilmente interrompersi nei casi limite non testati.JavaScript è il colpevole più facile su cui puntare il dito - ma come mostra il mio esempio su Mr.Null (il suo vero nome), è difficile puntare il dito su JS quando potrebbe essere qualsiasi passo.(Direi che "hai bs'd" è una parte negativa della risposta ... ma il resto è valido)
@WernerCD affrontato.La scusa della compagnia è semplicemente non credibile.Come testimoniato da ciò che * è * in evidenza: il successo di OP nell'usare il CVC praticamente ovunque.Semplicemente non sono d'accordo con il letteralismo di Birfl secondo cui tutto in OP deve essere trattato come un fatto assoluto.Non ho motivo di dubitare.OP, ma l'azienda ha semplicemente torto.
@Stefnotch grazie per l'esempio.Trovo sempre davvero divertente il modo in cui JS è guasto irreparabilmente.E poi mi rattrista quando mi rendo conto di quanto sia diffusa questa lingua.
@blrfl Booking avrebbe utilizzato Perl (o Java).
@Isotopp Lo sai esattamente come?
@Harper Penso che stiamo parlando l'uno dell'altro - non c'è dubbio che la compagnia sia "sbagliata".000 non è né "insicuro" né "non valido" - non è un pin da scegliere, è un CVV tecnicamente valido.Penso che differiamo nel fatto che una persona "help desk" non saprà perché un complicato stack di software rifiuta la transazione ("000" == false).Non penso sia inaspettato che l'help desk utilizzi mumbo jumbo (000 è OVVIAMENTE insicuro, proprio come un PIN che scegli) per spiegare gli errori che nessuno nella catena comprende.Due facce della medaglia: tecnicamente motivo per cui sta fallendo e cattive spiegazioni perché.
@Blrfl Ho informazioni che sono d'accordo.Perl, Java, forse Scala.Leggi l'ultimo paragrafo della biografia di Isotopp su SE per avere un'idea di come lo sa :)
È possibile che utilizzino 000 come valore "flag" per numeri CVV non assegnati, invece di avere un valore "null" separato che potresti vedere in un database tipico.Ho visto aziende con "architetti" di database che applicano sconsideratamente regole come _ nessun valore nullo nel database_;una volta dati i requisiti, avrebbero definito la colonna CVV come "CHAR (3), NONULL", il che ha portato a soluzioni alternative scritte male come questa.
@JohnDeters Perché sarebbe insensato accettare i dati della carta di credito nel database * con * un CVV nullo?Se gli sviluppatori stanno scrivendo soluzioni alternative per progetti validi, è colpa loro se pompano fuori lavoro scadente.Ho visto un sacco di quel tipo di lavoro insensato, di sicuro.
@Iain, perché a volte le informazioni non sono disponibili.Non tutti gli input provengono dagli stessi canali di convalida.Un pezzo di carta inviato via fax a cui mancano alcuni bit di dati deve ancora essere elaborato.(Particolarmente vero quando si parla di dati PCI di cui è comunque vietata l'archiviazione; nessun cliente razionale orientato alla sicurezza dovrebbe fornirli su carta.)
@JohnDeters Sono felice di dividere la differenza e fornire una tabella "PendingCreditCards" :)
#4
+10
TTT
2018-12-27 22:49:50 UTC
view on stackexchange narkive permalink

Al momento ho una carta di credito che probabilmente ha un numero CVV peggiore: 123”

Finora non è mai stata negata, ma dal punto di vista della sicurezza non lo so Mi piace perché penso che potrebbe benissimo essere la prima cosa che un ladro digiterebbe se in qualche modo avesse i miei numeri ma non la mia scheda.

Dal punto di vista del sito web, IMHO è assurdo di proposito considera un numero valido come non valido. (Ancor di più se le probabilità che si verifichi sono solo 1 su 1000). Poiché sarebbe estremamente facile per il sito tentare un'autorizzazione molto piccola per confermare la carta di credito, o anche lasciare che l'hotel decida da solo, non lo faccio. Non sono d'accordo con l'argomento "prevenire i numeri falsi". Detto questo, una ricerca rapida produce nel corso degli anni parecchie persone con lo stesso problema su vari siti web. Quindi, non sei solo. :)

Ora conosco il tuo CVV :) Ora devo solo cercare violazioni della carta di credito pubblica per ... uhh ... "_TTT_"?
#5
+5
hiburn8
2019-01-02 19:23:41 UTC
view on stackexchange narkive permalink

In tutta onestà, ci sono decine di migliaia di sistemi di prenotazione alberghiera a cui booking.com deve trasmettere informazioni affinché possano elaborarli. Confido che booking.com possa permettersi uno sviluppatore che sappia che (000) == FALSE in JavaScript ... ma vale la pena il loro tempo di supporto cercando di diagnosticare lo stesso identico bug per le centinaia di hotel che probabilmente hanno questo bug nel loro sistemi di prenotazione? Assolutamente no.

La mia ipotesi è che questo sia in realtà un tentativo piuttosto ragionevole di mitigare gli errori di elaborazione dei dati che si verificano a valle della catena e in sistemi che sono fuori dal controllo di booking.com.

Come commerciante di elaborazione di carte, sono obbligati a elaborare carte valide, quindi probabilmente stanno infrangendo le regole del commerciante qui e potrebbero avere problemi con VISA (o chiunque altro) ... ma posso quasi vedere la logica.

#6
+4
Oli
2019-01-02 19:00:48 UTC
view on stackexchange narkive permalink

Ho alcuni problemi con la semplice teoria dello "stupido bug" qui. Non ho dubbi che la persona con cui stavi parlando stesse tirando fuori queste sciocchezze dal nulla (come fanno alcune persone del servizio clienti). 000 è perfettamente valido e non sei la prima persona su Internet a indicare di avere il numero.

Ma qui c'è una scala che le persone non apprezzano.

  • La possibilità naturale di ottenere 000 poiché il tuo CVV è dello 0,1%
  • Booking.com è un'azienda che ha generato $ 8 miliardi di entrate grezze nel 2017, la maggior parte sulle transazioni con carta. Si tratta di circa cinquantamila prenotazioni medie al giorno.
  • Booking.com deve quindi incontrare 000 50 volte al giorno. Per un importo di $ 25.000 persi contro Booking.com e, molto, molto di più in termini di prenotazioni effettive non trasferite.

Rifiuto dello 0,1% delle transazioni con carta è di $ 9 milioni di mancate entrate. Nelle attività [ molto molto più piccole] per cui lavoro, l'analisi del flusso di prenotazione lo segnalerebbe abbastanza rapidamente nella catena. Questo tipo di società (lavoro tangenzialmente nei sistemi di prenotazione delle vacanze), l'esperienza del carrello è la parte più tracciata ... Trovo molto difficile credere che un'azienda che si basa sull'analisi perda qualcosa di semplice come la convalida della carta problema.

Quindi, se supponiamo che questo non possa esistere su quella scala, dobbiamo offrire alcuni suggerimenti che limitano l'ambito ...

  1. Questo è un bug locale.

    Molte multinazionali investono denaro tramite conti locali e lo rimbalzano da lì a fini fiscali. Può darsi che Booking.com consenta ai suoi uffici locali di modificare il codice su questo per gestire stranezze locali (valuta, interi schemi di pagamento che non sono globali) e, in tal modo, consentire la presenza di bug che non esistono altrove.

    La possibilità di ciò è aumentata perché il paese di destinazione è la Croazia. Là usano la Kuna, non l'euro. Potrebbe esserci una serie di differenze contabili e fornitori di meccanismi.

    Anche questo spiega un po 'perché questo è andato sotto il radar. Lo 0,1% del denaro destinato alla Croazia sarà molto inferiore al reddito globale.

  2. 000 non è comune come lo 0,1%

    Come sottolinea JPhi1618 nel commenti, l'altro fattore limitante l'ambito è che forse le banche non emettono 000 molto spesso. Non c'è motivo per cui non dovrebbero e come ho detto, ci sono prove online di altre persone con 000 carte, ma questo non vuol dire che sia comune.

    I non ho modo di verificarlo. Forse qualcuno con un registro di elaborazione della carta che include CVV può eseguire un'analisi.

Tuttavia, se trovi problemi come questo, segnalali. Salta il team del servizio clienti perché semplicemente non sanno cosa sta succedendo. Vai dal CEO o dal team di sicurezza perché entrambi lo prenderanno abbastanza sul serio per motivi leggermente diversi. 9 milioni di dollari di entrate perse sono una buona motivazione.

Solo una nota: stavo cercando di prenotare un hotel in Croazia, che non è un paese dell'euro, quindi il tuo ragionamento potrebbe essere corretto.
Penso che l'uso della tua logica dimostri che se questo numero 000 fosse comune come previsto, Booking.com sarebbe costretto a risolvere il problema.Non perderanno 1 prenotazione su 1000 a causa di una cosa _molto_ banale da risolvere.Quindi, penso che la maggior parte delle società di carte di credito non usi 000 e la banca che OP sta utilizzando è un valore anomalo.
-1
"Raggiungere l'amministratore delegato di un'azienda affermata è probabilmente difficile".Una volta lo era, ma a un certo punto negli ultimi 15 anni sembra essere diventato di moda per i dirigenti essere visti essere coinvolti con problemi.Anche se non puoi parlare direttamente, molti hanno un percorso di escalation interno.Ma se si tratta di qualcosa di locale - come sembra che potrebbe - potrebbe essere difficile rimbalzarlo nel posto giusto.E alla fine la voglia di fissare lo 0,1% dei pagamenti attraverso la Croazia (usano la Kuna, non l'Euro, quindi forse il codice locale) sarà un po 'più leggera.
#7
  0
Luk
2019-01-03 15:42:46 UTC
view on stackexchange narkive permalink

Nota che su alcuni software per carte di credito, un CVC con il valore magico 000 significa che un CVC è stato fornito ma è stato cancellato da allora (a causa di vincoli PCI). Questo è probabilmente ciò che sta facendo Booking e questo spiega perché non lo accettano.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...