mmm lo ideal el en inicio de sesion seria enviar los datos por post y no get...
Respecto a el sql inyection: es super importante por que si permites el ingreso de caracteres especiales, como comillas, un atacantes puede ingresar ciertas palabras de manera que modifiquen la consulta que realizas con ese atributo, pudiendo asi obtener claves de administracion entre otros.
Para eso lo ideal seria formatear las cosas que pasas a traves de los inputs, para eso yo uso la siguiente funcion:
Código PHP:
//funcion que protege el paso de valores anormales por los formularios
//para evitar inyeccion sql
function protect($string){
$string = mysql_real_escape_string($string);
$string = strip_tags($string);
$string = addslashes($string);
return $string;
}
La manera de usarlo seria (suponiendo que se envio un formulario mediante POST)
Código PHP:
if(isset($_POST['send'])){
$param1 = protect($_POST['param1']);
}
-----------------------------
Con relacion al acceso a las carpetas, puedes intentar colocar un archivo index.html dentro de las carpetas que tengas para evitar el accedo, y puedes tambien añadir codigo para que se edireccione al entrar...
Por ejemplo: supongamos qie tienes una carpeta "images" llena de imagenes y no queres que entren directo. ENtonces agregar el siguiente html
index.html
Código PHP:
<html>
<head>
</head>
<body onLoad="document.location='http://www.dominio.com/index.php'">
</body>
</html>
Tambien hay unos codios para realizarlos desde las head
Espeor servir de aporte
Saludos a todos