Advertisement
diabliyo

facebook_autentificacion

Nov 25th, 2011
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.21 KB | None | 0 0
  1. <?php
  2. # condicionales si sincroniza por alguna razon
  3.  
  4. if( si esta haciendo log/in/facebook o log/in/facebook/sync )
  5.     include( "autentificacion/auth_facebook.php" );
  6. else if( si esta haciendo log/in/twitter o log/in/twitter/sync )
  7.     include( "autentificacion/auth_twitter.php" );
  8. else if( si esta haciendo log/in/gplus o log/in/gplus/sync )
  9.     include( "autentificacion/auth_gplus.php" );
  10.  
  11. # --------------------------------------------------------------
  12.  
  13. # ejemplo "auth_facebook.php
  14.  
  15. <?php
  16. if( !strcmp($log, "entrar") && !strcmp( $_GET["social"], "facebook") )
  17.     {
  18.     if( !strcmp($_GET["m"], "sync") ) # sincronizando porque no tiene cuenta o cerro sesion de facebook
  19.         {
  20.         # no esta logeado, entonces tal vez:
  21.         # - es usuario nuevo
  22.         # - es usuario haciendo login por red social
  23.         if( !is_login() )
  24.             {
  25.             $user_id= facebook_conectar();
  26.             if( !$user_id )
  27.                 {
  28.                 echo '<h1>Error: no se pudo consultar tu informaci'. acento("o"). 'n en Facebook.</h1>';
  29.                 unset($user_id);
  30.                 }
  31.             else
  32.                 {
  33.                 # si ya tiene cuenta
  34.                 if( consultar_datos_general( "USUARIOS", "ID_FACEBOOK='". proteger_cadena($user_id). "'", "ID") )
  35.                     {
  36.                     $_SESSION["username"]= consultar_datos_general( "USUARIOS", "ID_FACEBOOK='". proteger_cadena($user_id). "'", "USUARIO");
  37.                     $_SESSION["password"]= consultar_datos_general( "USUARIOS", "ID_FACEBOOK='". proteger_cadena($user_id). "'", "CLAVE");
  38.                     $_SESSION["iduser"]= consultar_datos_general( "USUARIOS", "ID_FACEBOOK='". proteger_cadena($user_id). "'", "ID");
  39.                     bruteforcing_del(); # eliminamos la IP del Bruteforcing (si es que existe)
  40.                     header( "Location: /" );
  41.                     }
  42.                 # no tiene cuenta, crearemos nueva cuenta
  43.                 else
  44.                     {
  45.                     $userface= facebook_get_userid(); # consultamos informacion del usuario a facebook
  46.                     # generamos valores aleatorios de clave y ID
  47.                     do //generamos numero aleatorio
  48.                         {
  49.                         $idtrack= generar_idtrack(); //obtenemos digito aleatorio
  50.                         }while( !strcmp( $idtrack, consultar_datos_general( "USUARIOS", "ID='". $idtrack. "'", "ID" ) ) );
  51.                    
  52.                     # creacion de sesiones
  53.                     $_SESSION["username"]= $userface["username"];
  54.                     $_SESSION["password"]= $idtrack;
  55.                     $_SESSION["iduser"]= $idtrack;
  56.  
  57.                     # Geo Localizacion por IP
  58.                     require( "../geoipcity.inc" ); //incluimos cabecera
  59.                     include( "../geoipregionvars.php" );
  60.                     $geoip_bd= geoip_open( "admin/geoip/GeoIPLiteCity.dat", GEOIP_STANDARD ); //abrimos archivos dat
  61.                     $ip= $_SERVER['REMOTE_ADDR']; //obtenemos IP
  62.                     $r= geoip_record_by_addr( $geoip_bd, $ip );
  63.                     $ubicacion= proteger_cadena(($r->city. '/'. $GEOIP_REGION_NAME[$r->country_code][$r->region]. '/'. $r->country_name));
  64.                     geoip_close($geoip_bd); # cerramos stream
  65.                     $mundo= explode( "/", $ubicacion ); # ciudad/estado/pais
  66.                     $x= explode( "@", $userface["email"] ); # obtenemos dominio del mail
  67.                        
  68.                     # creamos cuenta en el sistema
  69.                     $trama= array(
  70.                         "id"=>"'". $idtrack. "'",
  71.                         "usuario"=>"'". proteger_cadena($userface["username"]). "'",
  72.                         "clave"=>"'". $idtrack. "'",
  73.                         "email"=>"'". proteger_cadena($userface["email"]). "'",
  74.                         "fecha"=>"'". time(). "'",
  75.                         "ciudad"=>"'". consultar_datos_general( "MUNDO_CIUDAD", "CIUDAD='". proteger_cadena($mundo[0]). "'", "ID"). "'",
  76.                         "estado"=>"'". consultar_datos_general( "MUNDO_ESTADO", "ESTADO='". proteger_cadena($mundo[1]). "'", "ID"). "'",
  77.                         "pais"=>"'". consultar_datos_general( "MUNDO_PAIS", "PAIS='". proteger_cadena($mundo[2]). "'", "CODIGO" ). "'",
  78.                         "id_facebook"=>"'". proteger_cadena($user_id). "'",
  79.                         "facebook_token"=>"'". facebook_token( "auto" ). "'" # ver my_facebook.php
  80.                         );
  81.                        
  82.                     insertar_bdd( "USUARIOS", $trama ); # si inserta con exito al usuario
  83.                     inicializar_espacio_personal($idtrack); # si hay error inicializando carpetas
  84.                    
  85.                     bruteforcing_del(); # eliminamos la IP del Bruteforcing (si es que existe)
  86.                     unset($userface, $ubicacion, $mundo, $trama );
  87.                     header( "Location: /" );
  88.                     }
  89.                 }
  90.             }
  91.         }
  92.     else # sincronizando desde cuenta ya existente
  93.         {
  94.         if( !is_login() ) # si no esta logeado, esta haciendo fuerza bruta
  95.             header( "Location: ". url_amigable( "?log=brute", "log", "login", "dos_prev") );
  96.         else # esta logeado, esta agregando su facebook
  97.             {
  98.             $user_id= facebook_conectar();
  99.             if( !$user_id )
  100.                 {
  101.                 echo '<h1>Error: no se pudo consultar tu informaci'. acento("o"). 'n en Facebook.</h1>';
  102.                 unset($user_id);
  103.                 }
  104.             else
  105.                 {
  106.                 #trama
  107.                 $trama= array( "id"=>"'". proteger_cadena($_SESSION["iduser"]). "'",
  108.                 "id_facebook"=>"'". proteger_cadena($user_id). "'" );
  109.                 # actualizamos
  110.                 if( !actualizar_bdd( "USUARIOS", $trama ) ) # error
  111.                     {
  112.                     unset($trama, $user_id);
  113.                     header( "Location: ". url_amigable( "?my=perfil", consultar_datos_general("USUARIOS", "ID='". proteger_cadena($_SESSION["iduser"]). "'", "USUARIO"), "users", 0 ) );
  114.                     }
  115.                 else # exito
  116.                     {
  117.                     echo '<div class="exito_izq_nf">Perfil sincronizado con exito...</div>';
  118.                     unset($trama, $user_id);
  119.                     header( "Location: ". url_amigable( "?my=perfil", consultar_datos_general("USUARIOS", "ID='". proteger_cadena($_SESSION["iduser"]). "'", "USUARIO"), "users", 0 ) );
  120.                     }
  121.                 }
  122.             }
  123.         }
  124.     }
  125. ?>
  126.  
  127. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement