carpooling
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Website para compartir coche en desplazamientos
Carpooling
==========

## 1. Contenido

1. Contenido
2. Ficheros
3. Pendiente
4. Puntos Claves
5. Running
6. License

## 2. Ficheros

- README.markdown: documento con descripción del proyecto.

- register.php: página para registrar nuevos usuarios.
- thankyou.php: página de destino tras registrar un nuevo usuario.
- activate.php: página para activar la cuenta con  el código enviado al email del usuario.
- login.php: página para conectarse al sistema.
- logout.php: página para desconectarse del sistema.
- recover.php: página para recuperar contraseña.
- 404.php: página de error 404 (página no encontrada).

- .htaccess: configuración apache

- includes: carpeta con ficheros a incluir.
   - general.inc.php: contiene funciones de carácter general.
   - dbc.inc.php: contiene lo relacionado con la base de datos.
   - header.php: contiene el código fuente de la cabecera. No se debe incluir directamente (usar la función get_header).
   - footer.php: contiene el código fuente del pie de página. No se debe incluir directamente (usar la función get_footer).  
   - javascript.php: contiene la parte javascript de cada página.   
   - recaptchalib.php: funciones proporcionadas por recaptcha para poder usarlo.
   - class.phpmailer-lite.php: clase para enviar correos. No uso directamente el mail de php por seguridad.

- js: scripts

   - customInput.jQuery.js: Checkboxes estilizados.
   
- css: carpeta con ficheros de hojas de estilo.
   - mio.css: hoja de estilo propia.
   
- images/mios: carpeta con mis propias imágenes (no de la plantilla).
   - exclamation.png: icono usado en cajas con errores de validaciones de formularios.
   - success.png: icono para mostrar cajas de mensajes de éxito.
   - info.png: icono para mostrar cajas de mensajes informativos.
   - separador.gif: separador vertical del contenido.
   - icn_mail_received2.png: imagen de correo enviado.
   - 404b.png: imagen de página no encontrada.   
   - new.png: imagen para cuando se activa un nuevo usuario.
   - wrong.png: imagen para cuando la activación de usuario falla.
   - checkbox.gif: imagen de checkboxes estilizada.
   
- sql: carpeta con consultas sqls usadas para la web. NO PUBLICAR.
   - dbsql.sql: sql con la creación de la tabla de usuarios.
   
## 3. Pendiente

- Realizar un script cron que se encargue de borrar usuarios registrados que no hayan activado su cuenta en 7 días. (ya realizado de otra forma)
- Crear un .htaccess (y no olvidar el control 404 -> ErrorDocument 404 /404.htm)
- register.php: el captcha sólo habría que mostrarlo si la IP ha tenido registros previos, o intentos fallidos.
- thankyou.php: mirar el registro en xing.com. Tiene cosas interesante -> te deja cambiar el correo (por si te has equivocado) -podemos pasarlo por session- ; te muestra un enlace a Gmail. 
- activate.php: ¿enviamos un correo al usuario?


## 4. Puntos Claves

- register.php
   
   - El proceso de registro debe ser fácil y rápido para no desanimar al potencial usuario. Mientras menos campos se le pidan mejor.
      - En el formulario de registro no se le pide repetir el email como suele ser habitual para evitar errores. -> Tras enviarle el correo para confirmar el registro se le permite cambiarlo si se ha equivocado mientras aún no haya realizado la activación.
      - El captcha es necesario por motivos de seguridad (evitar registros automáticos), pero es muy molesto para el usuario. Sólo se muestra en ips que tengan ya X registros anteriores -fallidos y exitosos- (o por fecha).
   - No guardamos su clave en ningún lugar.
   - Validación client-side del formulario con jQuery Validate.   
   - Si el usuario está ya conectado e intenta acceder a esta página se le redirecciona a la gestión de su cuenta. Si quiere registrar otra cuenta que haga logout manualmente.
   - hola@gmail.com = hola+ext@gmail.com (Se tienen en cuenta las extensiones de los correos para evitar que se usen para crear varias cuentas al mismo correo).
   - algo muy molesto suele ocurrir tras registrarte en una página: el navegador te pregunta si deseas guardar la contraseña... Eso tiene sentido en la página de login... pero no en la de registro. Aquí lo solucionamos desactivando el autocompletado... Desventaja: Si un registro produce algún fallo los campos se quedan vacíos. Solución : Rellenamos los campos introducidos nosotros para que nos lo tenga que volver a teclear el usuario.
   - las validaciones realizadas en el server-side -> los posibles errores se muestran en la misma página... y no en otra.
   - tooltips donde se explica al usuario porque se le pide un email, y donde se le explica el porqué del captcha.
   - justo antes de registrar usuarios borra usuarios inactivos antiguos, para no ocupar muchos nombres de usuarios/mails. (se podría hacer en un cron). Se hace aquí para conseguir que haya nombres de usuarios y emails libres.
   - permitimos registro/login por usuario o email.
   
- thankyou.php

   - Sólo accesible en la misma sesión en la aue has realizado el registro. Si intentas acceder sin haber iniciado el registro te lleva a error 404.
   - Te permite cambiar el correo (por si te has equivocado al registrate). En tal caso te vuelve a enviar el mensaje de activación.
   - Sólo te permite 3 cambios para evitar abusos.
   - Al cambiar el email se controla que no sea el mismo correo (en cuenta extensiones), que la cuenta ya no esté activada, que siga existiendo, que no esté baneado, etc...

- activate.php
   
   - Se activa la cuenta solo si el usuario no está aún activado, y el codigo de seguridad y activación son correctos.   
   - Este es el segundo punto donde es borra usuarios inactivos antiguos, para no ocupar muchos nombres de usuarios/mails. (se podría hacer en un cron). Aquí tambien se hace para prevenir que no se active un usuario no activado expirado.

- login.php
   
   - El proceso de login debe ser fácil y rápido para no desanimar al usuario.      
      - El captcha es necesario por motivos de seguridad (fuerza bruta), pero es muy molesto para el usuario. Sólo se muestra en ips que tengan ya X logins fallados.
   - Si el usuario está ya conectado e intenta acceder a esta página se le redirecciona a la gestión de su cuenta.
   - hola@gmail.com = hola+ext@gmail.com (Se tienen en cuenta las extensiones de los correos para evitar que se usen para crear varias cuentas al mismo correo).   
   - las validaciones realizadas en el server-side -> los posibles errores se muestran en la misma página... y no en otra.
   - checkboxes estilizados.   
   - tras el login se debe redireccionar a la página que estaba viendo antes del login.
   
- recover.php

   - No enviamos la password existente (creamos una nueva)... Porque un intruso entonces podría obtener su password habitual.   
   - siempre se muestra el captcha.
      
## 5. Running

To execute run the game, use

    ./src/jvgs

By default, it runs the game in fullscreen mode. If you do not want this, you
can run it like this in windowed mode:

    ./src/jvgs main.lua --width 800 --height 600

JVGS will remember the most recent video mode. To put it in fullscreen mode
again, use:

    ./src/jvgs main.lua --fullscreen yes

## 6. License

JVGS is released under the [WTFPL](http://sam.zoy.org/wtfpl/).


ventajas del sistema:
otros sistemas tienes que introducir el origen/destino en modo texto.. o sólo puedes elegir ciudades desde una combo box.

desventajas del carpooling por internet:
no conoces a la gente

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。