Ensuite quiquonque voudra arriver sur cette url devra d'abord taper un mot de passe que tu auras défini.
Encore faut-il que l'utilisateur le sache.
Quant à la solution du captcha en image, à trop vouloir être sophistiquée, elle finit par devenir de moins en moins accessible. Si un captcha doit être utilisé, autant privilégier un captcha textuel, posant des questions du type "Quelle est la couleur du cheval blanc d'Henri IV ?" ou "Combien font 3 + 5 ? (réponse en toutes lettres)".
Une autre piste consisterait à vérifier, lors de la validation du formulaire, que les données renseignées dans les champs correspondent bien à celles auxquelles l'on s'attend (par exemple, s'il s'agit de renseigner un code postal en France, vérifier qu'on a bien 5 chiffres) : si ce n'est pas le cas, on génère un message d'erreur comme quoi certains champs ne sont pas renseignés en bonne et due forme.
Si tu as un champ qui doit renseigner une URL, tu peux en vérifier la validité syntaxique grâce à la fonction filter_var() (si tu es sous PHP 5.2) et même vérifier qu'elle ne fait pas partie d'une "liste noire", que tu peux constituer en t'aidant de listes noires existantes, comme celle de
Chongqed.