Hola gente.
Les comento que estoy haciendo una web, donde los usuarios se registran, inician sesion, y hacen demas cosas...
Tengo toda la web, en el index.php.
Me pregunto si es conveniente o no.. Que problemas trae? o es mejor?
Ustedes recomiendan crear un php para registrarse? otro para el panel de administracion? etc etc etc?
Y con la interface que pasa? (el diseño).. Cada vez que cambio algo, tengo que cambiarlo en todos los archivos...
Que me dicen?
Lo tuyo lo llamo oldschool coding xD (usease... todo en uno xD)... yo te recomendaría que separases pero no uno para cada sino que los mas importantes...por ejemplo uno para la administración otro para los contenidos, y uno general con las funciones...
Para el diseño te recomiendo que mires lo que son los templates, pues te ayudaran mucho.
Saludos
Cita de: BadStupidMonkey. en 3 Marzo 2010, 05:13 AM
Lo tuyo lo llamo oldschool coding xD (usease... todo en uno xD)... yo te recomendaría que separases pero no uno para cada sino que los mas importantes...por ejemplo uno para la administración otro para los contenidos, y uno general con las funciones...
Para el diseño te recomiendo que mires lo que son los templates, pues te ayudaran mucho.
Saludos
Pero mi problema es éste:
La web esta dividida en 3 sectores:
Izquierda, Centro y Derecha
Si a la izquierda cambio algo, tengo que cambiarlo en los 3 archivos (supongamos que divido en REGISTRO - GENERAL y PANEL)
O lo que recomiendas es desde el index, llamar a los demas archivos?
CitarO lo que recomiendas es desde el index, llamar a los demas archivos?
mas o menos. No todo pero solo lo que se necesita.
Yo lo que suelo hacer es..
Index
> inlcude de las funciones
> include del contenido
link hacia Administración
> include de funciones
> include de contenido de administración
osease divido y solo llamo lo que hace falta llamar..
aunque yo sinceramente siempre he sido partidario del oldschool pues me gusta tener un funcions.php (por ejemplo) donde tengo toda la dinámica y un html donde tengo el diseño xD
Saludos
Claro..
Yo haré lo siguiente:
En el index.php tengo todo el diseño, las tablas y demas...
Dentro de cada celda de cada tabla, cambia el contenido segun el momento. Por ejemplo:
Si el usuario no ha iniciado sesion, muestro el aviso de inicio de sesion, pero si ha iniciado, muestro el link del panel de control..
Digamos que, cada tabla, tiene un IF, ELSEIF, ELSEIF.... en cada uno de ellos, haré un INCLUDE al que sea necesario ;)
Gracias por la respuesta tio..
Empieza por jerarquerizar tu sitio. Es decir, construye un diagrama que te facilite la visualización del código necesario para cada parte. La raiz de tu diagrama tiene que contener todo, y así cada hijo de tus nodos tiene que ser necesario para la ejecución del padre.
Las hojas de tu diagrama al final serán tus componentes esenciales y de ahi vas armando el sitio.
Incluye el header, el footer y lo que tienes a la derecha y sólo varia el contenido :)
Aps y en el index define una variable "x" y en los archivos a incluir pregunta sí está definido "x" sí no está definido un "die()" o pone un header location apuntando al index sino se incluye, asi evitas visualización directa de los archivos, cuando este funcionando bien para el mundo quita los errores no lo olvides.
Un saludo
Cita de: en 3 Marzo 2010, 16:54 PM
Aps y en el index define una variable "x" y en los archivos a incluir pregunta sí está definido "x" sí no está definido un "die()" o pone un header location apuntando al index sino se incluye, asi evitas visualización directa de los archivos, cuando este funcionando bien para el mundo quita los errores no lo olvides.
Un saludo
No entendi una *****.. jajaj
El te dice que hagas una variable en el archivo donde vas a incluir las funciones y otros códigos. En tu archivos que no quieres que sean visualizados, como un "functions.php" o "esqueleto.php" pregunta si esta definida dicha variable (obviamente no definas la variable dentro de estos archivos) y asi saber si están queriendo acceder directamente a tus archivos de funciones para luego poder redireccionarlos o marcarles un mensaje de que lo que están haciendo está mal.
Es solo una medida de seguridad para que no acedan a tus archivos de una manera que podrías no querer tú.
Disculpen el doble post, un ejemplo...
index.php
<?php
$x = true;
require_once("archivito.php");
//Tu codigo de indice
?>
archivito.php
<?php
if(!x){
// Que hacer si el archivo fue accedido directamente
die("Nop, por aqui no");
}
//Tu demas codigo....
?>
Bueno, almenos creo que eso es lo que entendi... mi php, ultimamente no está muy actualizado.
Síp eso funcionaria, es lo que usa smf aunque con "define" por eso al tratar de ver un archivo directo dice "hack attemt" o algo asi xD y sirve para que la gente no entre directo a www.sitio.com/functions.php además se recomienda poner al principio un error_reporting(0) para evitar errores y un path disclosoure :)
AHhh!!..
QUe buen puntoo!!...
Para evitar que accedan directamente desde la URL!!! Claro.. Ahora entiendo.. Buen punto!.
Lo haré.
Mostrare todo el contenido de REGSITRO.php, solamente si X variable esta definida en true :)
No hagas consultas a la base de datos si no es necesario lo digo por:
Cita de: Skeletron en 3 Marzo 2010, 07:25 AM
Digamos que, cada tabla, tiene un IF, ELSEIF, ELSEIF.... en cada uno de ellos, haré un INCLUDE al que sea necesario ;)
Puedes hacer dos cosas para según tu post, puedes crear un código con el diseño de la web y cada vez que necesites el mismo diseño llamarlo, lo mejor seria crear el código del diseño en cada archivo que necesite diseño porque a la hora de editar algún archivo afectara solo al archivo pero si lo tienes anclado en todos lado afectara a todos.
Usa sesiones PHP para verificar si el usuario tiene X sesión y es igual a X sesión y si es así muestra el Cpanel.
Cita de: en 3 Marzo 2010, 19:36 PM
error_reporting(0) para evitar errores y un path disclosoure :)
Error_reporting(0); supongo que es para que no aparezcan los mensajes de error... para evitar facilitar las cosas a los chicos malos :)
pero, Path Disclosoure... Que funcionalidad tiene?
Cita de: ~ Yoya ~ en 3 Marzo 2010, 19:41 PM
No hagas consultas a la base de datos si no es necesario lo digo por: Cita de: Skeletron en 3 Marzo 2010, 07:25 AM
Digamos que, cada tabla, tiene un IF, ELSEIF, ELSEIF.... en cada uno de ellos, haré un INCLUDE al que sea necesario ;)
Puedes hacer dos cosas para según tu post, puedes crear un código con el diseño de la web y cada vez que necesites el mismo diseño llamarlo, lo mejor seria crear el código del diseño en cada archivo que necesite diseño porque a la hora de editar algún archivo afectara solo al archivo pero si lo tienes anclado en todos lado afectara a todos.
Usa sesiones PHP para verificar si el usuario tiene X sesión y es igual a X sesión y si es así muestra el Cpanel.
IF, ELSEIF, ELSEIF, no es base de datos tio.. Te estas equivocando...
IF(true){
//
}ELSEIF(true){
//
}ELSEIF(true){
//
}ELSE{
//
}
Path Disclosoure, es cuando muestra un error similar a este:
Parse error: syntax error, unexpected '}', expecting ',' or ';' in /home/yoya/Escritorio/index.php on line 3
En este caso es Full Path Disclosure porque muestra el directorio entero.
Nop eso es path disclosoure. En el full path disclosoure ves todos los archivos en el servidor y en el file disclosoure ves el código fuente de los archivos
http://www.owasp.org/index.php/Full_Path_Disclosure
CitarThis renders the page defunct thus spitting out an error:
Warning: opendir(Array): failed to open dir: No such file or directory in /home/omg/htdocs/index.php on line 84
Warning: pg_num_rows(): supplied argument ... in /usr/home/example/html/pie/index.php on line 131
http://0verl0ad.blogspot.com/2009/04/full-path-disclosure-fpd.html
Cita de: Skeletron en 3 Marzo 2010, 19:44 PM
Cita de: ~ Yoya ~ en 3 Marzo 2010, 19:41 PM
No hagas consultas a la base de datos si no es necesario lo digo por: Cita de: Skeletron en 3 Marzo 2010, 07:25 AM
Digamos que, cada tabla, tiene un IF, ELSEIF, ELSEIF.... en cada uno de ellos, haré un INCLUDE al que sea necesario ;)
Puedes hacer dos cosas para según tu post, puedes crear un código con el diseño de la web y cada vez que necesites el mismo diseño llamarlo, lo mejor seria crear el código del diseño en cada archivo que necesite diseño porque a la hora de editar algún archivo afectara solo al archivo pero si lo tienes anclado en todos lado afectara a todos.
Usa sesiones PHP para verificar si el usuario tiene X sesión y es igual a X sesión y si es así muestra el Cpanel.
IF, ELSEIF, ELSEIF, no es base de datos tio.. Te estas equivocando...
IF(true){
//
}ELSEIF(true){
//
}ELSEIF(true){
//
}ELSE{
//
}
Me refiero a que no te acostumbre a hacer consultas a la BD si no es necesario porque estarías gastando recursos innecesariamente.
Pero si no estoy haciendo ninguna consulta a la database!