Defender-se desse tipo de ataque é bem simples.
Coloque essa função "cão de guarda" nos seus programas ou em um include do php, e chame-o no início de cada página, antes de utilizar os arrays _GET ou _POST.
Ela retira o perigoso apóstrofe de todos os parâmetros
function cao_de_guarda() {
foreach ($_GET as $par => $valor)
{
$_GET[$par]=str_replace("'","", $valor);
}
foreach ($_POST as $par => $valor)
{
$_POST[$par]=str_replace("'","", $valor);
}
}