Aparte de que no me he enterado de nada de lo propuesto por U_G, jajajaja, quería deciros que yo utilizo aparte de lo típico para este tema de SQL injection (reemplazos de comillas simples, varias comprobaciones a la BD, etc), algo bastante sencillo para que nadie entre vía mi propio panel de administración, aun en el caso de que sepan la ubicación del fichero de logueo, y el nombre del mismo.
Imagina que tienes esto en tu sitio:
www.tusitio.com/admin/admin.asp
O bien:
www.tusitio.com/admin.asp
Bueno, da igual como se llame o donde esté la página de logueo para el administrador. En el caso de Saruman, es posible que el hacker entrara por ese sitio, o bien por el panel de administración de su hosting (si tiene contratado los servicios de terceros). Si el hacker entró por tu propio panel de administración, puedes hacer algo tan sencillo como crear un querystring necesario para que la página se cargue (con lo cual tienes que ponerlo cada vez que tú quieras entrar, evidentemente).
Ejemplo:
http://www.tusitio.com/admin/admin.a...elafuma=aveces
De tal forma que si un hacker sabe que tu página se llama admin, y que está dentro de admin, no podrá acceder, a no ser que sepa el querystring, y el valor del mismo.
Para eso, tienes que poner en la parte de arriba de tu página admin.asp, algo como esto:
Código:
if request.querystring("laabuelafuma")<>"aveces" then
response.redirect "error.asp" 'Si tienes personalizada una pagina de error, lo mandas a ella, por ejemplo.
else
'Aquí le presentas el formulario de logueo de usuario y password
end if
Sencillo pero efectivo.