Busqueda Segura PROTEGIDO

Busqueda: <script>alert('XSS')</script>

Nueva busqueda
BLOQUEADO
Intento de injection detectado pero NEUTRALIZADO
El payload se busco literalmente en la base de datos. No hay clientes llamados "<script>alert('XSS')</script>".
Como se proceso tu input

Tu input:

<script>alert('XSS')</script>

Query preparada (placeholder):

SELECT * FROM clients WHERE name LIKE ?

Valor del placeholder (escapado por PDO):

%<script>alert('XSS')</script>%

PDO escapa automaticamente el valor. Los caracteres especiales como ' se tratan como texto literal, no como SQL.

No se encontraron clientes con "<script>alert('XSS')</script>"
(El payload de injection se busco literalmente - por eso no hay resultados)
Diferencias clave con la version vulnerable
buscar.php (VULNERABLE)
// Concatenacion directa = PELIGRO
$q = "SELECT * FROM clients 
      WHERE name LIKE '%" . $_GET['q'] . "%'";
$conn->query($q);

// Sin escapar = XSS
echo $row['name'];
buscar_secure.php (SEGURO)
// Prepared statement = SEGURO
$stmt = $pdo->prepare("SELECT * FROM clients 
                       WHERE name LIKE ?");
$stmt->execute(['%' . $q . '%']);

// Escapado = Sin XSS
echo htmlspecialchars($row['name']);
Regla de oro: Nunca concatenes input del usuario directamente en SQL. Siempre usa prepared statements (PDO o mysqli con bind_param).