if I'm not mistaken, variable poisoning would be allowing user to input vars in your script by passing them through $_GET.
for example, lets say there's a script http://localhost/get.php
<?php
$var = 'foo';
extract ($_GET);
echo $var;
?>
if the user types "http://localhost/get.php" it will output "foo" but if he puts "http://localhost/get.php?var=bar" it will output "bar", which could cause security leaks on your script.
I never used import_request_variables(), but you can work around the problem extract like this:
<?php
$var = 'foo';
extract ($_GET,EXTR_PREFIX_ALL,'pr');
echo $var;
?>
this will output "foo"regardless of what is passed through GET because the "var" parameter from $_GET will be set to $pr_var, not $var. I consider this one the safest option
but you could also consider:
<?php
$var = 'foo';
extract ($_GET,EXTR_SKIP);
echo $var;
?>
this will only set the variable if it hasn't already been defined, therefore, a "var" passet through $_GET will never be ser because the variable $var already exists. but then watch out for the use of isset(). if you need to use it, or any similar functions you should first use unset() in every var that is set later in your program to make sure the user didn't try to put it already.