extract tek başına güvenlik sorunu yapar diye bişey yoktur. extract tan geçirdikten sonra değişkenleri bir de güvenlik fonksiyonlarından geçirirseniz sorun kalmaz.
ya da şoyle bir fonksiyon kullanabilirsin
<?php
function mysql_extract($Array){
if(is_array($Array)){
foreach ($Array as $varName=>$varVal){
$$varName=mysql_real_escape_string($varVal);
}
}
}
?>extract yerine bu mysql_extract kullanırsın ancak bu sadece sql güvenliğini sağlar bir sürü yere mudahale edilebilir bununla o kontrolleri de bu fonksiyona eklerseniz güvenli bir extract fonksiyonunuz olur