Raised This Month: $12 Target: $400
 3% 

Sistema de cuentas MYSQL/SQLITE con/sin encriptación


  
 
 
Thread Tools Display Modes
Author Message
Neeeeeeeeeel.-
Some Guy Yellin'
Join Date: Jul 2010
Location: Argentina
Old 01-16-2012 , 17:52   Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#1

Bueno esto lo había hecho para Yhooon que es un amigo y bueno le agregue lo de encriptar y lo posteo para el que lo quiera usar

El code tiene algunas aclaraciones.
El que quiera usar SQLite y no sepa como crear la base de datos les deje una vacía ya hecha en adjuntos, solo ponen el archivo cuentas.sq3 en addons/amxmodx/data/sqlite3
(Si la carpeta sqlite3 no existe, la crean)

Y listo tiene que funcionar.

Espero que les sirva

ES NECESARIO ACTIVAR EL MODULE DEL MYSQL O SQLITE

Para la versión de ZP con SQLite necesitan descargar la otra base de datos!

Code:
Changelog:

    1.0.0:
        -Posteo del plugin.
        
    1.0.1:
        -Opitmizacion en el chequeo de una celda de un array.
        
    1.0.2:
        -Proteccion SQL Injection.
        
    1.0.3:
        -SQL_PrepareQuery --> SQL_ThreadQuery.
        -Optimizacion de tabla MYSQL/SQLITE.
        -Fix en la conexión SQLite.
        
    1.0.4:
        -Proteccion: No se permiten ingresar caracteres especiales.
        -Optimización: Se borraron los condicionales de chequeo de " " y TABLE.

    1.0.5
        -Bugfix: Con SQL_ThreadQuery no se usa SQL_Connect

    1.0.6
        -Varios fixes de errores generales.

    1.0.7
        -Revisado & fixeado por r0ma

    1.0.8
        -Fix bug que entran al juego sin loguearse arreglado

    1.0.9
        -Fix bug: Ham_Spawn deberia estar en post
        -Fix de variable no definida
        -Update ZP version


Code:
Creditos:
    shinoda
    Kiske
    Javivi
    ILUSION
    fearAR
    rak
    r0ma
Attached Files
File Type: zip Base de datos SQLite.zip (656 Bytes, 1422 views)
File Type: sma Get Plugin or Get Source (cuentas_mysql_sqlite_109.sma - 2349 views - 15.3 KB)
File Type: sma Get Plugin or Get Source (zp_cuentas_mysql_sqlite_109.sma - 1946 views - 15.2 KB)
File Type: zip Base de datos SQLite - ZP Version.zip (715 Bytes, 796 views)
__________________

Last edited by Neeeeeeeeeel.-; 12-07-2012 at 12:43. Reason: Update 1.0.9 & ZP Version
Neeeeeeeeeel.- is offline
Send a message via Skype™ to Neeeeeeeeeel.-
Javivi
AlliedModders Donor
Join Date: Dec 2008
Old 01-16-2012 , 18:39   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#2

__________________
Javivi is offline
Neeeeeeeeeel.-
Some Guy Yellin'
Join Date: Jul 2010
Location: Argentina
Old 01-16-2012 , 18:47   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#3

Quote:
Originally Posted by Javivi View Post
No entendi
__________________
Neeeeeeeeeel.- is offline
Send a message via Skype™ to Neeeeeeeeeel.-
Stereo
Veteran Member
Join Date: Dec 2010
Old 01-16-2012 , 18:55   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#4

Javivi se pincha bases de datos
Stereo is offline
fearAR
Veteran Member
Join Date: Oct 2010
Old 01-16-2012 , 19:02   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#5

Si no interpreto mal.

Javivi se refiere a SQL Injection.

Saludos.
__________________
~~~~ NPC AI ~~~~

[ Pathfinding - OK ]
[ Citizen AI - OK ]
[ Handle Weapons - --- ]
fearAR is offline
Send a message via MSN to fearAR
Neeeeeeeeeel.-
Some Guy Yellin'
Join Date: Jul 2010
Location: Argentina
Old 01-16-2012 , 19:49   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#6

Ah, si lo pensé jaja yo tengo en MI sistema resuelto contra SQL Injection pero bue ya demaciado les di que descubran ellos como protegerlo

La imagen se llama SQLINJECTION así que debe ser eso jajaja.
__________________

Last edited by Neeeeeeeeeel.-; 01-16-2012 at 19:55.
Neeeeeeeeeel.- is offline
Send a message via Skype™ to Neeeeeeeeeel.-
shinoda
Spanish Moderator
Join Date: Nov 2009
Location: ag_crossfire
Old 01-17-2012 , 13:02   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#7

Aún no vi todo el código, pero hay cositas que se puede hacer mejor:

PHP Code:
if( containuser" " ) != -)
    {
        
client_printidprint_chat"el usuario no puede tener espacios" );
        
show_login_menuid );
        return 
PLUGIN_HANDLED;
    } 
¿Por qué no puede tener espacios?


PHP Code:
else if( equaluser], "" ) )
    {
        
client_printidprint_chat"el usuario debe tener al menos 3 letras" );
        
show_login_menuid );
        return 
PLUGIN_HANDLED;
    } 
strlen o !user[2]

Y usa ThreadQuery.
__________________
Oh hell no this shit is awesome !!!
shinoda is offline
Send a message via MSN to shinoda Send a message via Skype™ to shinoda
Neeeeeeeeeel.-
Some Guy Yellin'
Join Date: Jul 2010
Location: Argentina
Old 01-17-2012 , 13:15   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#8

Quote:
Originally Posted by shinoda View Post
Aún no vi todo el código, pero hay cositas que se puede hacer mejor:

PHP Code:
if( containuser" " ) != -)
    {
        
client_printidprint_chat"el usuario no puede tener espacios" );
        
show_login_menuid );
        return 
PLUGIN_HANDLED;
    } 
¿Por qué no puede tener espacios?


PHP Code:
else if( equaluser], "" ) )
    {
        
client_printidprint_chat"el usuario debe tener al menos 3 letras" );
        
show_login_menuid );
        return 
PLUGIN_HANDLED;
    } 
strlen o !user[2]

Y usa ThreadQuery.
Lo de los espacios porque ami no me gusta que los tengan, al que no le guste simplemente lo borra

Lo de las 3 letras si no me acordé que podía poner !user[2], ahí lo cambié thanks.

Y cual es la diferencia de ThreadQuery con PrepareQuery? Leí en los includes las funciones y bueno siempre usé PrepareQuery porque es mas facil
__________________
Neeeeeeeeeel.- is offline
Send a message via Skype™ to Neeeeeeeeeel.-
Javivi
AlliedModders Donor
Join Date: Dec 2008
Old 01-17-2012 , 19:45   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#9

Tal y como lo tienes ahora no podrias utilizar una db remota sin que se te quede pillado el juego. ThreadQuery sirve para enviar la consulta, y cuando haya repuesta, leerla, sin tener que quedarse esperando a recibirla.
__________________
Javivi is offline
Manu127
Veteran Member
Join Date: Jul 2010
Location: Argentina
Old 01-17-2012 , 19:54   Re: Sistema de cuentas MYSQL/SQLITE con/sin encriptación
#10

Tendrias que arreglar lo del sql injection.

Un amigo, nisiquiera le aparece el menu, pasa de 1 al game sin registrarse/loguearse.

Las thread query no interrumpen el juego, es una nueva manera de consulta que, cuando la ejecutas, espera la respuesta en otro sub-proceso, sin interrumpir el juego.

En cambio, las prepare query van a tildar el juego segun su tiempo de respuesta, lo comprobe yo mismo.

Tenia 1 segundo de delay, con thread query no pasaba nada. En cambio, con prepare query se te tilda 1 sec el servidor. Eso es porque las thread se ejecutan en un subproceso, y no afectan el game play.

Aca taba buscando un post y lo encontre, mira:

Hawk552:

The true power lies in threaded querying. Threaded querying means nothing short of a rewrite of an entire plugin that's written with DBI, but has huge advantages, especially on slow connections. The idea of a threaded query is essentially that a new thread (a sub-process) with which its only goal is to send, monitor, and inform of the things that happen to a query. Because it is on a seperate thread, a query that would normally take 1 second (and 1 second of total connection loss for all clients in the server) still takes the same amount of time, but does not interrupt gameplay.
__________________

Last edited by Manu127; 01-17-2012 at 19:55.
Manu127 is offline
Send a message via MSN to Manu127 Send a message via Skype™ to Manu127
 


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:24.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode