Cela dépend de ton hébergeur, il y a qqn qui a eu des problèmes pour le faire chez ifrance belgique;
en général tu dois faire un fichier . htaccess dans le dossier que tu veux protéger, dans lequel tu mets:
PerlSetVar AuthFile / home/.htpassword / *ici ça change suivant ton hébergeur, mais en général c´est le chemin complet, récupérable en PHP assez facilement. Tu dois donner le chemin du fichier qui contient le pass, appelé . htpassword*/
AuthName " Accès Restreint"
AuthType Basic
require valid-user
-----------------------------------------------
ensuite, dans le . htpassword, tu mets simplement:
pseudo:pass
où pseudo est le pseudo, et pass le pass 
chez Free tu dois mettre le pass tel quel, et suivant l´hébergeur tu dois le crypter.
Je viens de me rappeler de cette page:
http://www.siteduzero.com/php/annexes/htaccess.php

Bonne protection!!