Aggiungo una funzione di tracciamento dei clic sul mio sito web per tracciare il click-thrus per i miei inserzionisti.
Quindi, sul mio sito, invece di avere un link diretto , collego la mia re-direct page passando l'URL di destinazione come argomento. Questa pagina di reindirizzamento quindi tiene traccia del click thru e quindi 301 reindirizza l'utente all'url esterno corretto.
Voglio impedire a terze parti di sfruttare questo sistema per farlo reindirizzare a URL arbitrari.
Mi piacerebbe il codice che crea i collegamenti a:
Crea special token
utilizzando ( destination url
+ secret
)
Quindi, passa gli argomenti destination url
+ special token
come parametri della stringa di query alla mia
Dopo aver ricevuto gli argomenti, la pagina di reindirizzamento effettuerà un controllo:
Dato ( destination url
+ special token
+ secret
), destination url
è:
- buono - reindirizzalo a destinazione
- non valido - non reindirizzarlo a destinazione
e dovrebbe non essere possibile per Doctor Evil per:
Crea secret
utilizzando ( known valid destination url
+ its special token
)
Idealmente la pagina re-direct
non dovrebbe effettuare alcuna ricerca specifica per url sui dati per convalidare i parametri - dovrebbe solo essere in grado di dire da "i due parametri dati + il segreto + l'algoritmo noto".
Non sono molto informato sulla crittografia, quindi mi chiedevo quale tipo di metodo si sarebbe utilizzato per creare e convalidare i parametri dati il segreto condiviso.
Sono sicuro che questa è una tecnica comune ma non ho idea di cosa si chiami, quindi è difficile saperne di più.
Qualsiasi aiuto è apprezzato.