Autor
|
Tema: [Resuelto] Crear Licencia en PHP (Leído 6,464 veces)
|
danny920825
|
Hola a todos. Estoy haciendo un proyecto simple para un cliente pero me gustaría ponerle un sistema de expiración por ejemplo anual (porque no voy a tener acceso, sería local en la pc del cliente y solo me llamarían en caso de presentar algun problema y para renovar la licencia) . O sea, que a los 365 días el proyecto expire y no deje al usuario loguearse ni ver el contenido. He pensado en crear una session con el período de expiración y esas cosas, pero no se... si el usuario borra el historial se reiniciaría el contador. También pensé en crear un archivo de texto en el servidor donde establezco el límite de días y voy reescribiendo el contenido al comparar la fecha. Pero me gustaría escuchar otras ideas y si a alguien le gusta alguna de las que he pusto aqui, trabajar para hacerla lo más seguro posible ya que el objetivo es que el usuario no pueda cambiar los datos tan facilmente. Salu2
|
|
« Última modificación: 30 Marzo 2017, 21:04 pm por danny920825 »
|
En línea
|
"Los que reniegan de Dios es por desesperación de no encontrarlo". Miguel de Unamuno
|
|
|
RevolucionVegana
Desconectado
Mensajes: 477
|
Podrías hacer que el código haga un SELECT de una base de datos externa con una columna y fila de tipo boleana, una vez hecho el SELECT lo almacenas en una variable y metes todo el código en un IF que diga si la variable almacena el valor 1 que haga todo lo que tiene que hacer el código y si la variable almacena el valor 0 pues le muestras un mensaje diciendole que ya se ha terminado, pero de la forma que yo lo planteo serías tu quien al año entrarías y cambiarías el numerito de la base de datos por un 0, o usar fechas no se xD es que puede hacerse de cualquier forma eso sí tampoco es muy buena idea la mía porque si está desconectado de internet pues le daría un error y no le funcionaría nada del código, o si trabaja con una base de datos en el propio ordenador o en plan con un servidor local lo que puedes hacer es le pones una fila y columna con una fecha, y cada vez que se vaya a ejecutar el código la recoges y la comparas con la fecha actual y si todavía no ha llegado a esa fecha pues le dejas usar el código y si no pues ha expirado, se puede hacer de muchas formas, el problema sería que te modificasen el archivo xD
Saludos
|
|
|
En línea
|
HAS DICHO ALGO NENAAAAAA?!
|
|
|
engel lex
|
Podrías hacer que el núcleo esté cifrado (aes) llame a tu página de licencia y por https pase los datos de tu licencia, si es válida, le manda la clave de descifrado, y lo ejecutas en memoria
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
danny920825
|
Pensaba que todos los métodos de cifrados usados en PHP eran en un solo sentido. No sabía que AES se pudiera descifrar. Lo de cifrar el nucleo a que se refiere? A cifrar TODA el proyecto? o alguna funcion especifica? Y como cargo el sitio en memoria?
|
|
|
En línea
|
"Los que reniegan de Dios es por desesperación de no encontrarlo". Miguel de Unamuno
|
|
|
engel lex
|
Pensaba que todos los métodos de cifrados usados en PHP eran en un solo sentido ¿¿¿¿???? cifradom definición Que está escrito con letras, símbolos o números que solo pueden comprenderse si se dispone de la clave necesaria para descifrarlos. si un cifrado no se puede descifrar, no es cifrado... creo que hablas de hash, que son de un solo sentido... AES está hecho para descifrarse lo de cifrar el nucreo me refiero a que agarras la parte importante de tu programa, lo cifras y guardas en un archivo, para usarlo, lo lees, lo abres con su contraseña y lo ejecutas las funciones (conseguí unas en esta pagina... ojo necesitas el modulo de mcrypt) function encriptar_AES($string, $key) { return $encrypted_data_hex; } function desencriptar_AES($encrypted_data_hex, $key) { $iv = pack("H*", substr($encrypted_data_hex, 0, $iv_size_hex)); $encrypted_data_bin = pack("H*", substr($encrypted_data_hex, $iv_size_hex)); return $decrypted; }
para correrlo, depende de como lo almacenes $codigo = 'for($i=0;$i<10;$i++){ echo "contar $i\n"; } ';
ahora que lo pienso... podrías transferir en lugar de una contraseña de descifrado, el modulo directamente y ejecutarlo XD
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
danny920825
|
Primero que todo: Gracias por la diferencia entre y Luego gracias por el trabajo de buscar las funciones. No soy muy bueno todavía como para entender ese código, pero me llevo una idea. Seria: Mientras que la licencia sea válida: ejecuta la funcion eval() con el programa dentro. Si no, muestra un error de licencia y termina el programa. Como decía al inicio del post, estaba dispuesto a escuchar sobre mejoras a mi idea, ya que mi idea era cuando más un archivo txt en el servidor que tuviera la fecha de la ultima ejecucion y un numero a descontar. Si la fecha actual era mayor que la fecha de caducidad, entonces restaba tantos numeros como diferencia hubiera. Pero ese método es mucho más efectivo. Gracias Engel Lex por la ayuda como siempre. Tema Solucionado parcialmente hasta que encuentre la forma de hacerlo por mi mismo, pero pueden cerrarlo. Ahora mismo lo marco como resuelto
|
|
|
En línea
|
"Los que reniegan de Dios es por desesperación de no encontrarlo". Miguel de Unamuno
|
|
|
engel lex
|
para evitarte tanto problema podrías hacerlo por mi ultima forma pensada XD
tu creas tu web con una sección que reciba post, si recibe el usuario y la contraseña y la fecha es valida, retornará la sección de codigo que haga alguna función principal (procura que sea pequeña, menos de 100 lineas para que sea rapida la transferencia)
en el programa, si la sesión es valida, llama a tu pagina mandando los datos necesarios, t si es valida, guarda el codigo en una variable de sesión y lo "carga en memoria" (con eval a la veriable) cuando lo necesite
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
danny920825
|
OK, Cuando tenga la respuesta confeccionada regreso y la posteo. Gracias por la ayuda
|
|
|
En línea
|
"Los que reniegan de Dios es por desesperación de no encontrarlo". Miguel de Unamuno
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
RESUELTO. crear carpeta en j2ME
Java
|
daaran
|
2
|
4,694
|
9 Agosto 2010, 00:25 am
por daaran
|
|
|
Como Crear una Licencia de 30 dias en mi programa visual basic (editado)
« 1 2 »
Programación Visual Basic
|
HRHDP
|
16
|
20,189
|
26 Abril 2012, 17:11 pm
por siliconplus
|
|
|
Como crear una licencia para un programa de 30días visual basic.net.
.NET (C#, VB.NET, ASP)
|
arts
|
0
|
3,715
|
1 Abril 2014, 14:39 pm
por arts
|
|
|
Alguien me ayuda a crear una licencia en Visual basic porfis
Dudas Generales
|
LaA Ale
|
4
|
3,150
|
19 Septiembre 2015, 20:24 pm
por MCKSys Argentina
|
|
|
[Resuelto] Crear una web que al compartir te de acceso
Desarrollo Web
|
WIитX
|
4
|
3,020
|
7 Noviembre 2015, 00:31 am
por WIитX
|
|