О какой безопасности речь?
Самое первое, что приходит в голову - это оформить php-скрипт, который делает аплоад, как cgi - то есть дописать ему первой строкой типа #!/usr/bin/php, поставить нужные права и расширение.
Самое плохое, что при этом бывает - это обрывается сессия, начатая в обычных php-скриптах (при использовании стандартных php-сессий).
Можно сделать финт ушами и соединить mod_php и cgi :)
Сначала делаем аплоад во временную папку, а затем с помощью cgi-скрипта, вызываемого из php-скрипта, переносим файл на желаемое место. Cgi-скрипт вызывается из mod_php-скрипта через полноценный http-запрос к собственному серверу, типа как
file_get_contents("http://мой.сайт.сом/cgi-bin/move.cgi?filename=xxxxxx")
Сам move.cgi может быть типа вот такой:
#!/usr/bin/php
<?
$tmp_folder="/home/имя_юзара/tmp...../";
$final_folder="/home/имя_юзара/public_html/images..../";
//проверка на вшивость:
$file=basename($_REQUEST('filename');
cp ($tmp_folder.$file, $final_folder);
unlink ($tmp_folder.$file)
?>
Если обращения по http к собственному серверу невозможны (такое бывет у многих хостеров), то можно запускать аналогичный скрипт из крона. Конечно, при этом будет задержка, пока крон не сработает, но это не так уж страшно.
vapetrov добавил 17.05.2008 в 16:15
Усп. Сори. Вопрос оказывается о шареном хостинге...
Тогда ответ однозначный: без suphp (или т.п.) - никак...
Само собой, с ним проблемы и его производительность меньше, чем у mod_php, но такова се ля ви...