I can think of two other things you may want to look into: shadowed password files and keeping not only the actual password file out of site, but also the .htaccess or equivalent. Even if your password file is not visible from the web you don't want people finding your .htaccess file because the .htaccess file will tell them where the password file is and they may be able to use an exploit unrelated to your password script to get their hands on the password file.