Foros del Web » Programando para Internet » PHP »

Trabajar con sesiones en PHP, a partir de una autentificación

Estas en el tema de Trabajar con sesiones en PHP, a partir de una autentificación en el foro de PHP en Foros del Web. Tengo una página Web que al iniciar pide la autententificación de usuario, pero nada de esto lo he hecho con $_SESSION, y entonces me he ...
  #1 (permalink)  
Antiguo 25/05/2007, 16:50
Avatar de boy-computer  
Fecha de Ingreso: diciembre-2006
Ubicación: Cuba, Pinar del Río
Mensajes: 337
Antigüedad: 17 años, 4 meses
Puntos: 1
Sonrisa Trabajar con sesiones en PHP, a partir de una autentificación

Tengo una página Web que al iniciar pide la autententificación de usuario, pero nada de esto lo he hecho con $_SESSION, y entonces me he dado cuenta que me trae algunos problemas.

Pueden ayudarme a realizar esta tarea con el uso de sesiones, agradecería mucho un pequeño ejemplo.

Gracias.
  #2 (permalink)  
Antiguo 25/05/2007, 16:58
 
Fecha de Ingreso: febrero-2004
Ubicación: Resistencia - Argentina
Mensajes: 299
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Trabajar con sesiones en PHP, a partir de una autentificación

podes ver al autentificator de cluster: http://php.cluster-web.com/autentificator/
  #3 (permalink)  
Antiguo 25/05/2007, 17:52
Avatar de cplus  
Fecha de Ingreso: abril-2007
Mensajes: 164
Antigüedad: 17 años
Puntos: 1
Re: Trabajar con sesiones en PHP, a partir de una autentificación

esa ejemplo esta muy bien, es del compañero y sabio Cluster, cuanto tiempo hace que no charlo con el...

como ven tiene un pequeño bug de seguridad, INJECTION

ahora como una solucion rapida se puede aplicar estas funciones dentro del script, para comprobar el GET y el POST

se llaman asi: y se ponen al principio de nuestro script si es piramidal, si no es piramidal, tendras que incluir en cada fichero estas 2 lineas.
Código PHP:
    FUNC_Motor_Search_Injection_Value_Get_v2();
    
FUNC_Motor_Search_Injection_Value_Post_v2(); 
y estas funciones son las que tienes que meter en tu script:
Código PHP:
/********************************************************************************/
/********************************************************************************/
/********************************************************************************
FUNC_Motor_Search_Injection_Value_Post_v2 & FUNC_Motor_Search_Injection_Value_Get_v2

    Atencion no borrar ni desactivar estas dos funciones, son vitales para la
seguridad del script.

    Las funciones buscan cadenas de texto tanto en mayusculas como en minusculas,
las variables son las transportadas por el GET ´url´, o mediante POST ´formularios´,
y asuvez recogidas por estas dos funciones.

    ´Inyección de SQL´

    Muchos desarrolladores web no son conscientes de cómo pueden manipularse las
consultas SQL, y asumen que una consulta SQL es un comando confiable. Esto representa
que las consultas SQL pueden burlar los controles de acceso, y de este modo evitar
los chequeos estándares de autenticación y autorización, y a veces las consultas
SQL pueden incluso permitir acceso a comandos al nivel del sistema operativo de
la máquina huésped.

    La Inyección Directa de Comandos SQL es una técnica en la cual un atacante
crea o altera comandos SQL existentes para exponer datos escondidos, o sobrescribir
datos críticos, o incluso ejecutar comandos del sistema peligrosos en la máquina
en donde se encuentra la base de datos. Esto se consigue cuando la aplicación
toma información de entrada del usuario y la combina con parámetros estáticos
para construir una consulta SQL.

    Debido a la falta de validación de la información de entrada y el establecimiento
de conexiones con la base de datos desde un super-usuario o aquel que puede crear
usuarios, el atacante podría crear un super-usuario en su base de datos.
*/

function FUNC_Motor_Search_Injection_Value_Post_v2(){
    foreach(
$_POST as $varSearchInjectionValuePost => $varSearchInjectionPost){
        if (
eregi('insert'$varSearchInjectionPost) || eregi('*'$varSearchInjectionPost) || eregi('and'$varSearchInjectionPost) || eregi('by'$varSearchInjectionPost) || eregi('from'$varSearchInjectionPost) || eregi('select'$varSearchInjectionPost) || eregi('sql'$varSearchInjectionPost) || eregi('update'$varSearchInjectionPost) || eregi('delete'$varSearchInjectionPost) || eregi('drop'$varSearchInjectionPost )){
               echo 
"ERROR DE SEGURIDAD: INTENTO DE INJECTION";
          exit;
        }
    }
}
function 
FUNC_Motor_Search_Injection_Value_Get_v2(){
    foreach(
$_GET as $varSearchInjectionValueGet => $varSearchInjectionGet){
        if (
eregi('insert'$varSearchInjectionGet) || eregi('and'$varSearchInjectionGet) || eregi('by'$varSearchInjectionGet) || eregi('from'$varSearchInjectionGet) || eregi('select'$varSearchInjectionGet) || eregi('sql'$varSearchInjectionGet) || eregi('into'$varSearchInjectionGet) || eregi('update'$varSearchInjectionGet) || eregi('delete'$varSearchInjectionGet) || eregi('drop'$varSearchInjectionGet )){
            echo 
"ERROR DE SEGURIDAD: INTENTO DE INJECTION";
            exit;
        }
    }

quizas sea mejorable... pero yo ya hace tiempo que no uso esa funcion, pero si recuerdo que fue el primer script que vi hace ya casi 4 años...

salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:19.