Недавно мне сказали (здесь), что конкатенация вашего Javascript вызовет уязвимости XSS. Я провел свое исследование здесь и в Google, чтобы выяснить, почему это плохо, но я не вижу его.
Часть 1 - Javascript: Видимо, что-то вроде этого небезопасно. Зачем? Как вы должны сделать это вместо этого?
// part of a script dynamically making table rows
var el = document.createElement('div');
el.innerHTML = '<input type="text" id="myId'+id+'" />';
cellOne.appendChild(el);
Часть 2 - MySQL: Мне сказали, что когда вы объединяете SQL, это подвергает вас SQL-инъекциям. Я не уверен, что именно они подразумевали под concat SQL. Я предполагаю, что они не говорили о SQL-функции concat. Я предполагаю, что они имели в виду:
$sql = " SELECT `col` FROM `table` WHERE `col` = '".$myFilteredVariable."' ";
Или, может быть?
$sql = " SELECT `col` FROM `table` WHERE `col` = '".$myFilteredVariable."' ";
$sql .= " AND `col2` = '".$myvar.'";
Это подвергает вас SQL-инъекции?
Часть SQL является академической. Я использую PDO для предотвращения внедрения SQL.