Tengo una página HTML que acepta cualquier número de parámetros de cadena de consulta, que debo pasar a la siguiente página que el usuario visita haciendo clic en los enlaces de mi página. Básicamente, si el usuario llega a
http://example.com/some/page.html?param1=123¶m2=567&smthelse=abcde
La mayoría de estos parámetros de cadena de consulta tienen naturaleza de seguimiento. Necesito asegurarme de que cuando el usuario haga clic en ciertos enlaces de esta página o envíe ciertos formularios POST, todas estas cadenas de consulta pasen a la página siguiente.
Si es posible, estoy buscando evitar los parámetros de cadenas de consulta de la lista blanca / lista negra que se deben pasar a la página siguiente, ya que es un mantenimiento considerable. En lugar de eso, estoy planeando usar jQuery / Javascript para leer dinámicamente todas las cadenas de consulta y actualizar los atributos de los atributos y formas de href de los anclajes para agregar el valor window.location.search
completo a estas URL.
Ejemplo ( 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);
});
¿Este código es vulnerable a XSS o phishing? ¿Alguna otra vulnerabilidad de seguridad? ¿Alguna mejor manera de hacerlo?