diabliyo

facebook_autentificacion_FULL

Nov 28th, 2011
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.40 KB | None | 0 0
  1. <?php
  2. if( !strcmp($log, "salir") && !strcmp( $_GET["social"], "facebook") )
  3.     {
  4.     if( !is_login() ) # si no esta logeado, entonces posiblemente aun no ha accedido a nuestro portal
  5.         {
  6.         $fbid= facebook_conectar(); # obtenemos el ID del usuario
  7.         if( !$fbid ) # si no hay ID, es un bruteforcing o ataque
  8.             header( "Location: ". url_amigable( "?log=brute", "log", "login", "dos_prev") );
  9.         else # si existe sesion o conexion con nuestro portal
  10.             {
  11.             $iduser= consultar_datos_general( "USUARIOS", "FACEBOOK_ID='". proteger_cadena($fbid). "'", "ID" ); # obtenemos ID
  12.             $trama= array( "id"=>"'". proteger_cadena($iduser). "'", "facebook_id"=>"'0'", "facebook_token"=>"'0'" );
  13.             if( actualizar_bdd( "USUARIOS", $trama ) )
  14.                 echo 'Desconexion con Facebook exitosa...';
  15.             else    echo 'Problemas para desconectar tu sesion de facebook...';
  16.            
  17.             unset($trama);
  18.             header( "Location: ". url_amigable( "?my=perfil", consultar_datos_general("USUARIOS", "ID='". proteger_cadena($_SESSION["log_id"]). "'", "USUARIO"), "users", 0 ) );
  19.             }
  20.         }
  21.     else # si sta logeado
  22.         {
  23.         $fbid= consultar_datos_general( "USUARIOS", "ID='". proteger_cadena($_SESSION["log_id"]). "'", "FACEBOOK_ID" ); # obtenemos id facebook
  24.        
  25.         if( !$fbid  ) # si no existe sesion conexion o previa sincronizacion a facebook
  26.             header( "Location: ". url_amigable( "?log=brute", "log", "login", "dos_prev") );
  27.         else
  28.             {
  29.             $trama= array( "id"=>"'". proteger_cadena($_SESSION["log_id"]). "'", "facebook_id"=>"'0'", "facebook_token"=>"'0'" );
  30.             if( actualizar_bdd( "USUARIOS", $trama ) )
  31.                 echo 'Desconexion con Facebook exitosa...';
  32.             else    echo 'Problemas para desconectar tu sesion de facebook...';
  33.            
  34.             unset($trama);
  35.             header( "Location: ". url_amigable( "?my=perfil", consultar_datos_general("USUARIOS", "ID='". proteger_cadena($_SESSION["log_id"]). "'", "USUARIO"), "users", 0 ) );
  36.             }
  37.         }
  38.     }
  39. else if( !strcmp($log, "entrar") && !strcmp( $_GET["social"], "facebook") )
  40.     {
  41.     if( !strcmp($_GET["m"], "sync") ) # sincronizando porque no tiene cuenta o cerro sesion de facebook
  42.         {
  43.         # no esta logeado, entonces tal vez:
  44.         # - es usuario nuevo
  45.         # - es usuario haciendo login por red social
  46.         if( !is_login() )
  47.             {
  48.             $user_id= facebook_conectar();
  49.             if( !$user_id )
  50.                 {
  51.                 echo '<h1>Error: no se pudo consultar tu informaci'. acento("o"). 'n en Facebook.</h1>';
  52.                 unset($user_id);
  53.                 header( "Location: ". url_amigable( "?log=brute", "log", "login", "dos_prev") );
  54.                 }
  55.             else
  56.                 {
  57.                 # si ya tiene cuenta, es un relogin por red social
  58.                 if( consultar_datos_general( "USUARIOS", "FACEBOOK_ID='". proteger_cadena($user_id). "'", "ID") )
  59.                     {
  60.                     $_SESSION["log_usr"]= consultar_datos_general( "USUARIOS", "FACEBOOK_ID='". proteger_cadena($user_id). "'", "USUARIO");
  61.                     $_SESSION["log_pwd"]= consultar_datos_general( "USUARIOS", "FACEBOOK_ID='". proteger_cadena($user_id). "'", "CLAVE");
  62.                     $_SESSION["log_id"]= consultar_datos_general( "USUARIOS", "FACEBOOK_ID='". proteger_cadena($user_id). "'", "ID");
  63.  
  64.                     $trama= array( "id"=>"'". proteger_cadena($_SESSION["log_id"]). "'",
  65.                     "facebook_id"=>"'". proteger_cadena($user_id). "'", "facebook_token"=>"'". facebook_token( "auto" ). "'" );
  66.                     # actualizamos
  67.                     actualizar_bdd( "USUARIOS", $trama ); # actualizamos datos
  68.                     unset($trama);
  69.                    
  70.                     bruteforcing_del(); # eliminamos la IP del Bruteforcing (si es que existe)
  71.                     header( "Location: /" );
  72.                     }
  73.                 # no tiene cuenta, crearemos nueva cuenta
  74.                 else
  75.                     {
  76.                     $userface= facebook_get_userid(); # consultamos informacion del usuario a facebook
  77.                     # generamos valores aleatorios de clave y ID
  78.                     do //generamos numero aleatorio
  79.                         {
  80.                         $idtrack= generar_idtrack(); //obtenemos digito aleatorio
  81.                         }while( !strcmp( $idtrack, consultar_datos_general( "USUARIOS", "ID='". $idtrack. "'", "ID" ) ) );
  82.                    
  83.                     # creacion de sesiones
  84.                     $_SESSION["log_usr"]= $userface["username"];
  85.                     $_SESSION["log_pwd"]= $idtrack;
  86.                     $_SESSION["log_id"]= $idtrack;
  87.  
  88.                     # Geo Localizacion por IP
  89.                     require( "../geoipcity.inc" ); //incluimos cabecera
  90.                     include( "../geoipregionvars.php" );
  91.                     $geoip_bd= geoip_open( "admin/geoip/GeoIPLiteCity.dat", GEOIP_STANDARD ); //abrimos archivos dat
  92.                     $ip= $_SERVER['REMOTE_ADDR']; //obtenemos IP
  93.                     $r= geoip_record_by_addr( $geoip_bd, $ip );
  94.                     $ubicacion= proteger_cadena(($r->city. '/'. $GEOIP_REGION_NAME[$r->country_code][$r->region]. '/'. $r->country_name));
  95.                     geoip_close($geoip_bd); # cerramos stream
  96.                     $mundo= explode( "/", $ubicacion ); # ciudad/estado/pais
  97.                     $x= explode( "@", $userface["email"] ); # obtenemos dominio del mail
  98.  
  99.                     # si no existe correo en la lista de correos, lo agregamos
  100.                     if( !consultar_datos_general( "LISTA_CORREOS", "EMAIL='". proteger_cadena($userface["email"]). "'", "EMAIL" ) ) # si el mail NO existe, lo agregamos
  101.                         {
  102.                         # ceacion de cuenta en el sistema
  103.                         do //generamos numero aleatorio
  104.                             {
  105.                             $idtrack2= generar_idtrack(); //obtenemos digito aleatorio
  106.                             }while( !strcmp( $idtrack2, consultar_datos_general( "LISTA_CORREOS", "ID='". $idtrack2. "'", "ID" ) ) );
  107.                          
  108.                         $trama2= array(
  109.                             "id"=>"'". $idtrack2. "'",
  110.                             "fecha"=>"'". time(). "'",
  111.                             "nombre"=>"'0'",
  112.                             "email"=>"'". proteger_cadena($userface["email"]). "'",
  113.                             "dominio"=>"'". $x[1]. "'",
  114.                             "categoria"=>"'0'",
  115.                             "grupo"=>"'0'",
  116.                             "spam"=>"'0'",
  117.                             "empresa"=>"'0'",
  118.                             "ciudad"=>"'". consultar_datos_general( "MUNDO_CIUDAD", "CIUDAD='". proteger_cadena($mundo[0]). "'", "ID"). "'",
  119.                             "estado"=>"'". consultar_datos_general( "MUNDO_ESTADO", "ESTADO='". proteger_cadena($mundo[1]). "'", "ID"). "'",
  120.                             "pais"=>"'". consultar_datos_general( "MUNDO_PAIS", "PAIS='". proteger_cadena($mundo[2]). "'", "CODIGO" ). "'",
  121.                             "colonia"=>"'0'",
  122.                             "calle"=>"'0'"
  123.                             );
  124.                         insertar_bdd( "LISTA_CORREOS", $trama2 ); # insertamos
  125.                         unset($trama2);
  126.                         }
  127.                        
  128.                     # creamos cuenta en el sistema
  129.                     $trama= array(
  130.                         "id"=>"'". $idtrack. "'",
  131.                         "usuario"=>"'". proteger_cadena($userface["username"]). "'",
  132.                         "clave"=>"'". $idtrack. "'",
  133.                         "email"=>"'". proteger_cadena($userface["email"]). "'",
  134.                         "fecha"=>"'". time(). "'",
  135.                         "ciudad"=>"'". consultar_datos_general( "MUNDO_CIUDAD", "CIUDAD='". proteger_cadena($mundo[0]). "'", "ID"). "'",
  136.                         "estado"=>"'". consultar_datos_general( "MUNDO_ESTADO", "ESTADO='". proteger_cadena($mundo[1]). "'", "ID"). "'",
  137.                         "pais"=>"'". consultar_datos_general( "MUNDO_PAIS", "PAIS='". proteger_cadena($mundo[2]). "'", "CODIGO" ). "'",
  138.                         "privilegio"=>"'4'",
  139.                         "perfil"=>"'1'",
  140.                         "web"=>"'0'",
  141.                         "facebook"=>"'0'",
  142.                         "twitter"=>"'0'",
  143.                         "lista_db"=>"'". $idtrack2. "'",
  144.                         "turundus_support"=>"'0'",
  145.                         "trash"=>"'0'",
  146.                         "susp"=>"'0'",
  147.                         "facebook_id"=>"'". proteger_cadena($user_id). "'",
  148.                         "facebook_token"=>"'". facebook_token( "auto" ). "'"
  149.                         );
  150.                        
  151.                     insertar_bdd( "USUARIOS", $trama ); # si inserta con exito al usuario
  152.                     inicializar_espacio_personal($idtrack); # si hay error inicializando carpetas
  153.                    
  154.                     bruteforcing_del(); # eliminamos la IP del Bruteforcing (si es que existe)
  155.                     unset($userface, $ubicacion, $mundo, $trama );
  156.                     header( "Location: /" );
  157.                     }
  158.                 }
  159.             }
  160.         }
  161.     else # si esta logeado, esta sincronizando desde cuenta ya existente
  162.         {
  163.         if( !is_login() ) # si no esta logeado, esta haciendo fuerza bruta
  164.             header( "Location: ". url_amigable( "?log=brute", "log", "login", "dos_prev") );
  165.         else # esta logeado, esta agregando su facebook
  166.             {
  167.             $user_id= facebook_conectar();
  168.             if( !$user_id )
  169.                 {
  170.                 echo '<h1>Error: no se pudo consultar tu informaci'. acento("o"). 'n en Facebook.</h1>';
  171.                 unset($user_id);
  172.                 }
  173.             else
  174.                 {
  175.                 #trama
  176.                 $trama= array( "id"=>"'". proteger_cadena($_SESSION["log_id"]). "'",
  177.                 "facebook_id"=>"'". proteger_cadena($user_id). "'", "facebook_token"=>"'". facebook_token( "auto" ). "'" );
  178.                 # actualizamos
  179.                 if( !actualizar_bdd( "USUARIOS", $trama ) ) # error
  180.                     {
  181.                     unset($trama, $user_id);
  182.                     header( "Location: ". url_amigable( "?my=perfil", consultar_datos_general("USUARIOS", "ID='". proteger_cadena($_SESSION["log_id"]). "'", "USUARIO"), "users", 0 ) );
  183.                     }
  184.                 else # exito
  185.                     {
  186.                     echo '<div class="exito_izq_nf">Perfil sincronizado con exito...</div>';
  187.                     $arr= array(
  188.                             "message"=>"",
  189.                             "name"=>"". desproteger_cadena(consultar_datos_general( "USUARIOS", "ID='". proteger_cadena($_SESSION["log_id"]). "'", "NOMBRE" )). " ha sincronizado su facebook con Turundus",
  190.                             "description"=>"T". acento("u"). " as". acento("i"). " como ". desproteger_cadena(consultar_datos_general( "USUARIOS", "ID='". proteger_cadena($_SESSION["log_id"]). "'", "NOMBRE" )). " conectate a Turundus, el sistema de marketing en linea mas popular y funcional en el mundo... Vende, anuncia y gana !",
  191.                             "caption"=>"". HTTP_SERVER. "",
  192.                             "picture"=>"". HTTP_SERVER. "flyer/isologo.jpg",
  193.                             "link"=>"". HTTP_SERVER. ""  
  194.                             );
  195.                     facebook_pgdata( 'feed', 'post', $_SESSION["log_id"], $arr ); # enviando informacion a facebook
  196.                     unset($trama, $user_id, $arr);
  197.                     header( "Location: ". url_amigable( "?my=perfil", consultar_datos_general("USUARIOS", "ID='". proteger_cadena($_SESSION["log_id"]). "'", "USUARIO"), "users", 0 ) );
  198.                     }
  199.                 }
  200.             }
  201.         }
  202.     }
  203. ?>
  204.  
Advertisement
Add Comment
Please, Sign In to add comment