Sistema de cuentas SQL
#1
Información 
Sistema de cuentas SQL

Descripción: Simple sistema de cuentas basado en SQL.

Características:
  • Basado en SQL
  • Modular
  • 'X' Tiempo para iniciar sesión o registrarse
  • Se puede usar en múltiples servidores
  • Inicio de sesión automático por Authid (Solo para usuarios STEAM)
  • Cambio de contraseña

Requisitos:
  • AMX MODX X 1.8.2 >
  • Modulo SQLX Activado
  • Base de datos SQL (Preferencia en la misma maquina)

Libreria:
Código:
// Llamado justo despues de obtener el uid al logearse (loged)
forward acc_login_post(index)

// Llamado justo despues de obtener el uid al registrarse (loged) (no se llama a login)
forward acc_register_post(index)

// Obtener handler de connecion, asi evitas conectar de nuevo
native Handle:acc_hTuple()

// Obtener id de registro, si devuelve 0 significa que no esta logueado/registrado
native acc_uid(index)

Detalles de cambios:
Código:
    *    3.0.0 = Digamos que es la primera versión (Publica) xd
    *    3.1.0 = Agregada compatiblidad para AMX 1.8.2
    *    3.1.1 = Agregada CVAR para URL sobre info del mod, ademas de hacer comentarios sobre las cvars
    *    3.2.1 = Agregado comando de baneo "acc_ban <nombre> <tiempo (en minutos o 0 permanente)> <razon>", Ahora al registrarse un usuario nuevo, la cuenta de usuarios registrados se incremente automaticamente.
    *    3.2.2 = Arreglado error en formateo de string
    *    3.3.0 = Añadido el uso de SQL Threads (https://amxmodx-es.com/Thread-Modulo-MySQL-Threads-1-2) || Se edito el contenido de la libreria SQL Threads en este mismo plugin por compatibilidad con AMX 1.9.0 y correccion de advertencias al compilar

Por hacer:
Código:
* /Nada por el momento/



.sma   Descargar AMXX / accountsystem.sma (Tamaño: 25.99 KB / Descargas: 260)
.inc   accsys.inc (Tamaño: 514 bytes / Descargas: 115)

[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#2
Está bueno.

Como idea para implementar sería un sistema para banear cuentas.
Responder
#3
buena ahí, yo tenia pensado postear lo mismo.

podrías sacar una versión con MySQLT Whatever
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#4
(15/11/2018, 09:28 AM)Chema escribió: Está bueno.

Como idea para implementar sería un sistema para banear cuentas.

Agregado a ToDo <3

(15/11/2018, 11:03 AM)Hypnotize escribió: buena ahí, yo tenia pensado postear lo mismo.

podrías sacar una versión con MySQLT Whatever

En AMX 1.8.9 Esta muy bueno el modulo sqlx, no lo veo necesario de momento, si mas gente lo pide, lo implemento.
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#5
(15/11/2018, 02:37 PM)kikizon2 escribió:
(15/11/2018, 11:03 AM)Hypnotize escribió: buena ahí, yo tenia pensado postear lo mismo.

podrías sacar una versión con MySQLT Whatever

En AMX 1.8.9 Esta muy bueno el modulo sqlx, no lo veo necesario de momento, si mas gente lo pide, lo implemento.

Recuerda que no todos utilizan la versión 1.8.9, algunos ni saben de su existencia Roflmao

EDIT:
Sugerencias:
Código PHP:
new const SQL_HOST[] = "localhost";
new const 
SQL_USER[] = "root";
new const 
SQL_PASS[] = "password";
new const 
SQL_DATABASE[] = "yourdatabase";
new const 
SQL_TABLE_ACC[] = "accounts";

new const 
SQL_LOGFILE[] = "ACCOUNTS_LOG.txt";
new const 
UrlInfo[] = "http://tuweb.com/tuhtmlophpdeinformacion.html"

Esos datos los puedes añadir en un archivo .cfg, .ini para que sea mas facil editar los datos de conexión, los logs y la web (o usar cvar ocultas), la mayoria de cvars se muestran en gametracker
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#6
(15/11/2018, 03:48 PM)totopizza escribió:
(15/11/2018, 02:37 PM)kikizon2 escribió:
(15/11/2018, 11:03 AM)Hypnotize escribió: buena ahí, yo tenia pensado postear lo mismo.

podrías sacar una versión con MySQLT Whatever

En AMX 1.8.9 Esta muy bueno el modulo sqlx, no lo veo necesario de momento, si mas gente lo pide, lo implemento.

Recuerda que no todos utilizan la versión 1.8.9, algunos ni saben de su existencia Roflmao

EDIT:
Sugerencias:
Código PHP:
new const SQL_HOST[] = "localhost";
new const 
SQL_USER[] = "root";
new const 
SQL_PASS[] = "password";
new const 
SQL_DATABASE[] = "yourdatabase";
new const 
SQL_TABLE_ACC[] = "accounts";

new const 
SQL_LOGFILE[] = "ACCOUNTS_LOG.txt";
new const 
UrlInfo[] = "http://tuweb.com/tuhtmlophpdeinformacion.html"

Esos datos los puedes añadir en un archivo .cfg, .ini para que sea mas facil editar los datos de conexión, los logs y la web (o usar cvar ocultas), la mayoria de cvars se muestran en gametracker
En mi opinión es mejor dejarlo en el código por temas de seguridad. Es mucho mas fácil robar un archivo de texto. Y ni hablar que las cvars ocultas, cualquier admin puede verlas y obtener acceso completo a la base.
[Imagen: paypalqr.png]
Responder
#7
(15/11/2018, 04:49 PM)Neeeeeeeeeel.- escribió:
(15/11/2018, 03:48 PM)totopizza escribió:
(15/11/2018, 02:37 PM)kikizon2 escribió:
(15/11/2018, 11:03 AM)Hypnotize escribió: buena ahí, yo tenia pensado postear lo mismo.

podrías sacar una versión con MySQLT Whatever

En AMX 1.8.9 Esta muy bueno el modulo sqlx, no lo veo necesario de momento, si mas gente lo pide, lo implemento.

Recuerda que no todos utilizan la versión 1.8.9, algunos ni saben de su existencia Roflmao

EDIT:
Sugerencias:
Código PHP:
new const SQL_HOST[] = "localhost";
new const 
SQL_USER[] = "root";
new const 
SQL_PASS[] = "password";
new const 
SQL_DATABASE[] = "yourdatabase";
new const 
SQL_TABLE_ACC[] = "accounts";

new const 
SQL_LOGFILE[] = "ACCOUNTS_LOG.txt";
new const 
UrlInfo[] = "http://tuweb.com/tuhtmlophpdeinformacion.html"

Esos datos los puedes añadir en un archivo .cfg, .ini para que sea mas facil editar los datos de conexión, los logs y la web (o usar cvar ocultas), la mayoria de cvars se muestran en gametracker
En mi opinión es mejor dejarlo en el código por temas de seguridad. Es mucho mas fácil robar un archivo de texto. Y ni hablar que las cvars ocultas, cualquier admin puede verlas y obtener acceso completo a la base.

Exacto



Actualizado, agregada compatibilidad para AMX 1.8.2
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#8
Esto sí podría ser una cvar:
Código PHP:
new const UrlInfo[] = "http://tuweb.com/tuhtmlophpdeinformacion.html"
[Imagen: paypalqr.png]
Responder
#9
Me gusta el sistema, esta limpio lo utilizare en futuros proyectos a ver que tal

Me gusta la idea de hacer las preguntas de seguridad para el cambio de contraseña, creo que ningún servidor lo a implementado queda lindo.

Nice Rainbow
* Ing. Informático * Mapper * Venezolano
Responder
#10
(15/11/2018, 05:14 PM)Nazi.- escribió: Me gusta el sistema, esta limpio lo utilizare en futuros proyectos a ver que tal

Corazón



Agregada la cvar que menciona Nel, ademas agregue informacion sobre el funcionamiento de las cvars.


(15/11/2018, 05:14 PM)Nazi.- escribió: Me gusta la idea de hacer las preguntas de seguridad para el cambio de contraseña, creo que ningún servidor lo a implementado queda lindo.

Nice Rainbow

Lo tengo implementado en una version del sistema de cuentas ADV vault, y lo quiero implementar a este tambien, igual despues subo el sistema ADV vault xd
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#11
Si me creo una cuenta, la cantidad de cuentas creadas que muestra en el menu no se incrementa hasta que cambie el mapa.
(19/06/2014, 11:08 PM)01011001 escribió: No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)

(19/06/2014, 11:08 PM)[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
Responder
#12
(15/11/2018, 05:14 PM)Nazi.- escribió: Me gusta la idea de hacer las preguntas de seguridad para el cambio de contraseña, creo que ningún servidor lo a implementado queda lindo.
Yo pienso que es al pedo... es una cuenta de un CS no el homebanking. A lo sumo un sistemita para recuperar la clave vía email con un código.
[Imagen: paypalqr.png]
Responder
#13
(15/11/2018, 06:08 PM)Neeeeeeeeeel.- escribió:
(15/11/2018, 05:14 PM)Nazi.- escribió: Me gusta la idea de hacer las preguntas de seguridad para el cambio de contraseña, creo que ningún servidor lo a implementado queda lindo.
Yo pienso que es al pedo... es una cuenta de un CS no el homebanking. A lo sumo un sistemita para recuperar la clave vía email con un código.

Pensaba hacer lo mismo, pero no todos tienen acceso a un servidor de correos, por eso lo pensaba hacer asi, tipo una contraseña de respaldo, ya que hay muchos idiotas que pierden la cuenta por prestarla o cosas por el estilo, asi solo dueño original de la cuenta serian capaces de cambiar la pw.
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#14
(15/11/2018, 05:30 PM)Kane escribió: Si me creo una cuenta, la cantidad de cuentas creadas que muestra en el menu no se incrementa hasta que cambie el mapa.

Podrías llamar a 'LoadAndFix' al terminar de crear la cuenta.
Responder
#15
ACTUALIZADO:


3.2.1 (UNTESTED) = Agregado comando de baneo "acc_ban <nombre> <tiempo (en minutos o 0 permanente)> <razon>"
Ahora al registrarse un usuario nuevo, la cuenta de usuarios registrados se incremente automaticamente.
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#16
Hola, para que se concrete el ban, si o si tiene que estar logeado?

Edit: conectado quise decir Whatdone
Responder
#17
(15/11/2018, 09:39 PM)Spirit escribió: Hola, para que se concrete el ban, si o si tiene que estar logeado?

Edit: conectado quise decir Whatdone

Por ahora, si.
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#18
(15/11/2018, 06:08 PM)Neeeeeeeeeel.- escribió:
(15/11/2018, 05:14 PM)Nazi.- escribió: Me gusta la idea de hacer las preguntas de seguridad para el cambio de contraseña, creo que ningún servidor lo a implementado queda lindo.
Yo pienso que es al pedo... es una cuenta de un CS no el homebanking. A lo sumo un sistemita para recuperar la clave vía email con un código.

Con tener una pregunta de seguridad por si perdí la clave o le preste mi cuenta a alguien y me la robo, creo que es mejor y ahorra el tiempo de ir a el hotmail y todo eso Mario

Es decir es cuestión de gustos
* Ing. Informático * Mapper * Venezolano
Responder
#19
Código PHP:
if(iMinutesformatex(szBantimecharsmax(szBantime), "%d minutos"); 
Insecure
(19/06/2014, 11:08 PM)01011001 escribió: No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)

(19/06/2014, 11:08 PM)[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
Responder
#20
(15/11/2018, 10:33 PM)Kane escribió:
Código PHP:
if(iMinutesformatex(szBantimecharsmax(szBantime), "%d minutos"); 
Insecure

Le falto colocar cuantos minutos son xd
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#21
Fix Nothingdohere jajaja esos pequeños errores que se pasan xd
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#22
(15/11/2018, 09:05 PM)kikizon2 escribió: ACTUALIZADO:


3.2.1 (UNTESTED) = Agregado comando de baneo "acc_ban <nombre> <tiempo (en minutos o 0 permanente)> <razon>"
Ahora al registrarse un usuario nuevo, la cuenta de usuarios registrados se incremente automaticamente.

Testealo antes de publicarlo al menos. Lo mínimo indispensable en esta sección.
[Imagen: paypalqr.png]
Responder
#23
(15/11/2018, 09:48 PM)Nazi.- escribió: Con tener una pregunta de seguridad por si perdí la clave o le preste mi cuenta a alguien y me la robo, creo que es mejor y ahorra el tiempo de ir a el hotmail y todo eso Mario

Es decir es cuestión de gustos
Si siquiera te acuerdas la password, realmente recordarás la pregunta y la respuesta de seguridad? Nunca me pasó en mi vida.
[Imagen: paypalqr.png]
Responder
#24
(16/11/2018, 10:05 AM)Neeeeeeeeeel.- escribió: Si siquiera te acuerdas la password, realmente recordarás la pregunta y la respuesta de seguridad? Nunca me pasó en mi vida.
Concuerdo. El mail es la opción mas viable.

Código PHP:
upass varchar(64NOT NULL,\ 
Porque 64 si lo máximo que podes escribir es 32??

Creo ademas que estas columnas no tienen necesidad de ser nulas.
Código PHP:
bantime int(11NOT NULL,\
    
bandate int(11NOT NULL,\ 

Estaría bueno que agreges cuando la cuenta esta online acá:
Código PHP:
if(SQL_ReadResult(Query8) == 1)
                {
                    
server_cmd("kick #%i ^"(Al parecer tu cuenta esta siendo usada!!!)^""get_user_userid(index));
                    return;
                } 
Que digas donde se esta jugando ya que hay una columna en la tabla que dice lastserver. Igual calculo que estarían dentro del mismo server por lo que es medio estúpido mi ultimo comentario.

Me gusta tu estilo de programar.
(19/06/2014, 11:08 PM)01011001 escribió: No tiene niveles infinitos, llega hasta 2147483648 (Y despues hace un integer overflow)

(19/06/2014, 11:08 PM)[R]ak escribió: Mis conocimientos aumentaron un 500% con este post
Responder
#25
Gracias @Kane y concuerdo con lo del correo, pero como repito no cualquier usuario tiene acceso a un servidor de correos. Esto es mas en el caso de las personas que prestan su cuenta no se las puedan robar. Sucede mucho jajaja.

La variable de password en la base de datos tiene de tamaño 64 porque se me paso por alto xd, aunque no afecta, lo corregire, al igual las columnas de baneo, no figuran nada pero despues lo corrijo xd

En cuanto a tu ultima observación recierda que se ñuede usar el sistema en diferentes servers que conecten a la misma base de datos, asi que es una buena idea mandar la ip en la que esta activa la cuenta
[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)