Una pagina di test PAC fatta in casa ha due caselle etichettate Host e URL. Il pulsante passa i loro valori in quest'ordine. Purtroppo, la funzione PAC si aspetta l'ordine opposto.

FindProxyForURL(url, host)

Per una destinazione esemplificativa, la chiamata dovrebbe apparire così:

FindProxyForURL("https://status.office.example/", "status.office.example")

Il secondo argomento è un nome host, senza schema, percorso o porta. Una regola che confronta host con un nome noto non corrisponderà quando il banco di prova fornisce lì un URL completo.

Entrambi gli input sono stringhe, quindi JavaScript non deve lanciare un errore. Lo script può raggiungere silenziosamente il suo return finale e mostrare un proxy dall'aspetto plausibile. Per questo è particolarmente facile scambiare questo bug per una regola di dominio sbagliata.

Controllate la chiamata prima della regola

Leggete l'invocazione della funzione nel banco di prova e ispezionate i due valori su quel confine. Poi confrontate un'eccezione nota per host esatto con un host non correlato che dovrebbe usare il percorso predefinito. Non iniziate ad allargare l'eccezione finché non corrisponde all'input malformato.

Una chiamata corretta lascia comunque da considerare l'ambiente ausiliario del valutatore. Un myIpAddress() fisso o un ausiliario DNS mancante non è lo stato di rete reale del browser. Teneteli come questioni separate. La riparazione immediata è il contratto dei parametri; la riparazione successiva, se necessaria, è far rappresentare all'ambiente di test il consumatore previsto.

Articoli correlati