SignMe 2.0 - Segunda versión de mi libro de visitas en PHP

Iniciado por invisible_hack, 1 Diciembre 2009, 12:57 PM

0 Miembros y 1 Visitante están viendo este tema.

invisible_hack

Finalmente después de bastante tiempo desde que saqué la anterior versión de mi libro de visitas en Php, aquí vuelvo con la segunda versión, la cual trae nuevas e importantes mejoras, y sobre todo, novedades:

   * Antes se podían enviar comentarios en blanco, ahora si alguien deja en blanco el campo del comentario (bien porque se le olvidó rellenarlo o bien porque quería molestar enviando a lo tonto), no podrá, ya que le saltará una alerta ‭‬‭‬‭‬javascript instándole a que rellene el campo del comentario para poder enviar el comentario.



Sistema de banneo por IP: esta es una de las grandes novedades de la nueva versión, por fin el Administrador podrá bannear Ip`s de usuarios que posteen comentarios indebidos. Ni que decir tiene que puede bannear tantas Ip`s como quiera.

¿Cómo bannear Ip`s?

¡Muy sencillo! En el archivo "ban.php" tenemos que localizar las siguientes línea:


$ban_ip = '00.000.00.000'; // ip banneada 1
$ban_ip = '11.111.11.111';//ip banneada 2 etc...


Pues bien, no hay mas que poner ahí la Ip o Ip`s que queramos bannear, una debajo de otra, tal y como se muestra. Por cierto, si le echais una ojeada al código, veréis que está comentado, lo cual espero que ayude bastante a comprender el código, junto con las explicaciones que doy en la entrada.

   * Sistema de Censura: otra opción nueva de esta versión, mediante la cual el Administrador puede definir una serie de palabras que, en caso de ser posteadas en los comentarios, serán automaticamente sustituidas por lo que el administrador quiera.

¿Cómo censurar palabras?

En el archivo "publicado.php" debemos localizar las siguientes líneas:


$cadena_cambiada = str_replace("pedo","********",$cadena);
$cadena_cambiada = str_replace("culo","******",$cadena);


Donde, como ya habréis adivinado, debemos poner la palabra a censurar, y luego la cadena por la que se sustituirá. En el script viene por defecto ya que las palabras 'pedo' y 'culo' se sustituyan por asteriscos. Para añadir más palabras censuradas no hay más que seguir añadiendo más líneas como las que se muestran ahí, como podéis ver, es algo extremadamente sencillo.

Sistema de Afiliación: otra opción nueva de esta versión 2.0, que consiste sencillamente en que el Administrador puede añadir una lista de sitios afiliados, para que los visitantes seleccionen una de las páginas afiliadas y la puedan visitar directamente haciendo click en el botón.



Al seleccionar la web que el visitante quiera, y pinchar en el botón "Visitar Web Seleccionada", será enviado directamente a la web elegida.

¿Cómo añadir webs afiliadas?

Esto si que es fácil. Localizamos en el archivo "index.php" las siguientes líneas:


 <option>Elige web....</option>
 <option value="http://www.elhacker.net">Elhacker.net</option>
 <option value="http://www.google.es">Google</option>
 </select>


No tenemos más que ir añadiendo options value por cada web nueva que queramos añadir a la lista...

   * Nueva página con las condiciones de uso del servicio (legal.html)
   * Nueva tabla de descarga, esto es, sencillamente una tabla que aparece en la parte inferior de la web en donde se le recuerda al usuario que si le gusta el sistema puede descargárselo para usarlo, y hay un enlace que lleva directamente a esta entrada en el blog, para que se descargue el sistema y el visitante tambien pueda tenerlo.




   * Ahora los enlaces han sido sustituidos por botones, lo que mejora notablemente el aspecto gráfico final.




   * Añadidos favicons a todas las páginas que componen el script, no solo a la primera como estaba antes.
   * Antes en el log de comentarios, quedaban registradas todas las Ip`s, tanto de gente que posteaba comentarios como de invitados que solo se pasaban a mirar, lo que ocasionaba un gran caos. Eso lo he eliminado, y ahora tan solo quedan los datos de los que postean, junto con el nick con el que han hecho el comentario, la fecha y la hora.
   * He eliminado el login de Administrador, ya que en realidad no era servicial ya que de momento no se podía hacer nada, solo salía un mensaje diciendo que estabas logueado (recordad la versión anterior), y pues por eso lo eliminé.
   * Añadido un relojito en la parte de arriba de la web, para saber siempre qué hora es :P

Además, aunque se supone que en teoría el archivo log.txt debería ser privado y solo visible por el Administrador tras loguearse, en realidad cualquier usuario podía acceder al archivo en cuestión desde la barra de direcciones, poniendo:

www.nombredelisitio.com/log.txt

Y por lo tanto ver toda la información privada, es decir, la información de los que han posteado.

Así que una de las primeras cosas que tendréis que hacer será, cuando tengais todo subido a vuestro hosting, ir al archivo publicado.php y modificar la siguiente línea:


$fff = fopen("log.txt","a");


Y cambiar log.txt por cualquier otro nombre que querais, que sea evidentemente dificil de adivinar, para que los visitantes no puedan acceder a su contenido.

El problema radica en que para impedir el acceso a ese archivo, necesitaría hacer uso de la técnica del archivo .htaccess, y como he usado Miarroba como hosting de pruebas para el script, Miarroba no permite ese tipo de archivo...por lo que, de momento, hay que "arreglar" eso del modo provisional que he dicho...

Para la próxima versión, tengo pensado crear un Panel de Administración, desde el que se pueda bannear, censurar palabras y todo lo que se puede hacer ahora, solo que se podrá hacer desde el Panel de Administración, y no habrá que andar modificando el código interno del script directamente.

Para la próxima versión también cambiaré el hosting que usaré para pruebas, para poder hacer lo del htaccess y que no sea necesario cambiar el nombre del log.

   * Por último también he añadido un poco más de vistosidad a la página que sale después de haber posteado un comentario, poniendole un par de iconos de exclamación que se mueven, recordándole al usuario leer las Condiciones de Uso del Servicio.  ;)



Bueno, creo que no me queda nada por añadir, así que finalmente os dejo lo más importante después de tanto rollo, la descarga  ;D

          Descarga SignMe 2.0 ---->  http://localhostr.com/files/6e80c9/SignMe2.0.zip

Un saludo, y si encontráis fallos o lo que sea, no dudeis en reportármelos.


"Si no visitas mi blog, Chuck te dará una patada giratoria"

Pazador

Gracias por tu tiempo, pero si se deshabilita .js desde firefox, si se podria enviar datos en blanco  :-X mejor seria una validacion con php  ;D

Citar* Antes se podían enviar comentarios en blanco, ahora si alguien deja en blanco el campo del comentario (bien porque se le olvidó rellenarlo o bien porque quería molestar enviando a lo tonto), no podrá, ya que le saltará una alerta ‭‬‭‬javascript instándole a que rellene el campo del comentario para poder enviar el comentario.
La vida es un juego
Mario Bross

invisible_hack

Cierto, la verdad que tengo que mejorar eso...

Apuntado para la próxima versión (que será la ultima que saque de este script)

Un saludo.
"Si no visitas mi blog, Chuck te dará una patada giratoria"

Freeze.

Disculpa que sea yo quien lo tenga que decir  :-\
Pero, debes mejorar muchísimo el diseño... y cuando digo mucho es mucho.
De profesional y moderno tiene 0/10 :P

El código no lo he visto, pero es buena manera de empezar a aprender, yo empecé así también. Solo que ese diseño con fondo de imágenes, ya pasó de moda hace tiempo.

Además de que deberías trabajar con BD, porque por lo que tengo entendido usas textos planos. Eso tiene sus pro y sus contra.

invisible_hack

Hola Freeze, hacía tiempo que no te veía postear por el foro  ;)

Pues respecto a lo del diseño, sí, ya sé que es un poquillo pobre, sinceramente yo me suelo centrar más en que funcione y tal que en que quede bonito y eso, aunque lo ideal es tener en cuenta ambas cosas a igual proporción...

Y lo de trabajar con BD, bueno, eso es un escalón que aún me queda por superar jeje, pero me pondré a ello pronto, pero de momento no sé SQL suficiente como para aplicarlo a un proyecto de estos...

Un saludo, ¡gracias por sus críticas y consejos, no se corten, sigan dandole caña!  ;D
"Si no visitas mi blog, Chuck te dará una patada giratoria"

fede_cp

trato de firmar pero no me deja, jaja

estoy de acuerdo, el estilo no es nada agradable, y buen la funcionabilidad por ahora no la pude probar, igualmente vi el codigo.


saludos
somos lo que hacemos para cambiar lo que somos

http://elhackerblog.blogspot.com el blog de elhacker.net!!

‭‭‭‭BadStupidMonkey.

El modo en el que tienes escrito el ban de ips va a bloquear unicamente la ultima ip, puesto que modificas la variable cada vez que la copias con nuevo string :)

Hay errores en el php,html y los links de "nuevo comentario" y "ver comentarios" van hacia ::www.signme20.webcindario.com/.. lo mejor seria que si fuese un libro de visitas hasta el que menos entiende de html o php pudiese usarlo.


Saludos

[u]nsigned

Mmm...la verdad que como primer scrip para aprender, esta bien..pero es muy basico, y tiene varios errores...

En el archivo ban.php deberias hacer:
Código (php) [Seleccionar]
$ban_ip[] = '00.000.00.000'; // ip banneada 1
$ban_ip[] = '11.111.11.111';//ip banneada 2 etc..
.

Quisas se te olvidaron, pero tenes que poner los corchetes al final del nombre de la variable para que sea un Array, por qué es eso lo que querias, nO?..digo porque luego lo recorres con un foreach...puede que se te haya olvidado.

Código (php) [Seleccionar]
$v_date = DATE("l d F H:i:s");

La funcion es date, con minusculas, puede que en Windows funcione, pero en un server gnu/linux no funcionara prque es case sensitive.

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!