Ho una pagina HTML che accetta qualsiasi numero di parametri della stringa di query, che devo passare alla pagina successiva che l'utente visita facendo clic sui collegamenti sulla mia pagina. In sostanza, se l'utente arriva a
http://example.com/some/page.html?param1=123¶m2=567&smthelse=abcde
La maggior parte di questi parametri di stringa di query ha natura di tracciamento. Devo assicurarmi che quando l'utente fa clic su determinati collegamenti in questa pagina o invii determinati moduli POST, tutte queste stringhe di query vengono passate alla pagina successiva.
Se possibile, sto cercando di evitare di inserire nella whitelist / nella lista nera i parametri della stringa di query che dovrebbero essere passati alla pagina successiva, poiché richiede molta manutenzione. Invece, sto pensando di utilizzare jQuery / Javascript per leggere dinamicamente tutte le stringhe di query e aggiornare gli attributi di attributi e attributi di href href per aggiungere l'intero valore di window.location.search
a questi URL.
Esempio ( jsbin ):
$(document).ready(function() {
var pageQsParams = window.location.search.split('?')[1] || '';
var newLinkUrl = $('.link').attr('href') + (pageQsParams ? '?' + pageQsParams : '');
$('.link').attr('href', newLinkUrl);
var newFormUrl = $('#form').attr('action') + (pageQsParams ? '?' + pageQsParams : '');
$('#form').attr('action', newFormUrl);
});
questo codice è vulnerabile a XSS o phishing? Qualche altra vulnerabilità di sicurezza? Qual è il modo migliore per farlo?