Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: fede_cp en 19 Diciembre 2009, 20:31 pm



Título: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: fede_cp en 19 Diciembre 2009, 20:31 pm
Sistema de administracion Incasoft

Gente, como menciono anteriormente castg, hicimos como un sistema de administracion con "fecha de entrega", y bueno se me paso un poquito  ;-),pero por fin pude terminarlo, No pude ordenar el codigo, asique si ven algunas cosas repetidas, no lo digan porque ya se que me falta depurar y demas.

ahora me gustaria que verifiquen, el diesño y ademas la seguridad.

algunas fotos

Instalacion!

(http://img690.imageshack.us/img690/2077/img1y.jpg)

Esa es la parte numero dos de la instalacion.

ya logueado !

(http://img686.imageshack.us/img686/1928/img3d.jpg)

y ahora el protafolio!

(http://img707.imageshack.us/img707/3913/img4q.jpg)

PD: La seguridad esta solo hecha del usuario visitante para abajo, nose si me entienden, osea dentro del sistema de adminsitracion ya logueado , si hay problema de seguridad, si alguien tiene ganas de arreglarlo joya, pero ya el bocho no me daba mas.

tambien nose si se dieron cuenta, pero portafolio.php esta dentro de la carpeta de administracion pero bue, no es para USARLO el sistema sino para que lo prueben y vean como es.

por favor traten de bajarlo e instalarlo que costo mucho laburo, encima la instalacion es una boludes, ademas de que es muy rapida.

aca todos los codes:

Codigo del sistema! (http://www.megaupload.com/?d=NQXSDBX8)

saludos!




Título: Re: Simple sistema de administracion de portafolio (incasoft)
Publicado por: Ari Slash en 19 Diciembre 2009, 21:40 pm
hola fede_cp

bajando....
no soy avanzado en php pero lo bajare para ver que tal
y si hay nuevas ideas ;D

salu2 y gracias por compartirlo


Título: Re: Simple sistema de administracion de portafolio (incasoft)
Publicado por: fede_cp en 19 Diciembre 2009, 22:04 pm
dale, gracias por la buena onda, si tenes problemas avisa!


saludos


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Servia en 20 Diciembre 2009, 14:33 pm
No es que sea nada grave, pero en "admin_panel.php" creo que sería mejor optimizar estas consultas:
Código
  1. $mierda2 = mysql_query("SELECT * FROM administracion WHERE usuario = ['id']", $conexion); /*ID*/
  2. $***** = mysql_query('SELECT * FROM administracion WHERE usuario = "'.$users.'"', $conexion); /*User*/
  3. $mierda3 = mysql_query('SELECT * FROM administracion WHERE clave = "'.$pass.'" AND usuario = "'.$users.'"', $conexion); /*Pass*/
  4. $total = mysql_fetch_array($*****);
  5. $total2 = mysql_fetch_array($mierda3);
  6. $user = $total['usuario'];
  7. $clave = $total2['clave'];

a esto:
Código
  1. $mierda2 = mysql_query("SELECT usuario,clave FROM administracion WHERE usuario = ". $users ." ", $conexion); /*Todo, todito..*/
  2. $total = mysql_fetch_array($mierda2);
  3. $user = $total['usuario'];
  4. $clave = $total['clave'];

Y también cifrar las pass, ni que sea con md5() :P


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Castg! en 20 Diciembre 2009, 17:17 pm
opino como vos, pero diria de agregarle esto: las comillas simples y el "pass"

Código
  1. $mierda2 = mysql_query("SELECT usuario,clave FROM administracion WHERE usuario = '". $users ."' AND pass='".$pass."'", $conexion); /*Todo, todito..*/
  2. $total = mysql_fetch_array($mierda2);
  3. $user = $total['usuario'];
  4. $clave = $total['clave'];


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Servia en 20 Diciembre 2009, 18:52 pm
Pero si pones el pass la comparación de abajo no sirve para nada (es mejor la verdad, pero yo lo he hecho para no borrar más código) ya que con hacer luego mysql_num_rows en el if estás servido.


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: fede_cp en 20 Diciembre 2009, 20:01 pm
uf, si es verdad, el admin_panel fue lo primero que hice no me fije de eso  ;D, la proxima version depuro todooo,disculpen.


saludos!

PD:se pueden encontrar con variables como:MIe$rda, caca y cosas asi jajaja

si hay errores postearlo, estaria bueno hacer como una auditoria de los codes, del mio y de el de castg.


adios!


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Servia en 20 Diciembre 2009, 22:03 pm
Hombre, como grave error es lo de no cifrar las pass xD

Se que me hago pesado con lo de optimizar pero esque veo formas de hacerlo mejor y me gusta mostrarlas:
 en adduser.php:

Código
  1. $add = "INSERT INTO administracion (usuario, clave) VALUES ('$user','$clave')";
  2. mysql_query($add, $conexion);

puedes hacer directamente:
Código
  1. mysql_query("INSERT INTO administracion (usuario, clave) VALUES ('$user','$clave')", $conexion);

Y si queréis ser un grupo serio, las faltas de ortografía deberán empezar a desaparecer.


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: fede_cp en 21 Diciembre 2009, 01:20 am
sisi, ya se que se puede hacer mas corto todo, pero es que para mi es mas organizado hacerlo con variables.

despues ya lo puse antes, el sistema NO ES PARA USARLO, ya lo avise antes es como para ver como funciona, el tema es hacerlo de 0 como lo hicimos con castg alias "tomi" ajaj, es obvio que va a tener errores podria ponerle md5 a la pass, pero como la fecha de entrega me adelanto todo y no tube tiempo ni de sacar las malas palabras en las variables.

saludos! la version 1.1 mejorara todo eso jajaj


saludos, sigan posteando sus inquietudes y/o mejoras que lo ponemos.
PD:¿Gusto el diseño?


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Castg! en 21 Diciembre 2009, 03:53 am
para mi tambien es mejorcon menos variables, ya le habia dicho a fede, pero bueno... jajajaj CHE tambien miren el mio ehy!


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: fede_cp en 23 Diciembre 2009, 01:00 am
Y loco por quien votan?

jajaja


Empiezan las votaciones!


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Castg! en 23 Diciembre 2009, 01:23 am
hey mods! se copan para hacer una encuesta?? vmoas que no molesta a nadie


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: ^Tifa^ en 25 Diciembre 2009, 05:35 am
Ya que veo que la aplicacion es nueva, (poco codigo comparado a otros proyectos que uffff he visto) y hablan de optimizacion  :D  les dare una orejita. Tomen de costumbre utilizar la funcion  mysql_unbuffered _query() en vez de mysql_query  :D  la razon? bueno pueden investigar en Google, pero una resumida mas rapidita.

la libreria mysql que utiliza PHP para trabajar con el motor (Tambien aplica para las librerias mysql de Perl, python, etc) poseen un pequeno Buffer de almacenamiento, dicho Buffer existe para tomar todos, todos los registros sin excepcion y sean la cantidad que sean de una o mas tablas (Depende la consulta SQL que hayas definido en tu codigo) y guardarlos en el Buffer de la libreria mysql del lenguaje de programacion (No hablo del buffer del proceso o del motor de Mysql DB). Sino de la libreria (API) que estan usando para programar en PHP. Esta libreria tiene ese Buffer, y la cosa funciona mas o menos asi:

Supongamos que tienen una consulta en PHP tipo:

$consulta = SELECT * FROM tabla WHERE codigo = 1
mysql_query($consulta, $conexión)

Que hace realmente la linea anterior en el motor DB? pues nada si la tabla 'Ejemplo' tiene 5 mil registros en total, esos 5 mil registros primero bajan al motor y luego cargan al Buffer del (API) entonces una vez esos 5 mil registros existen en el Buffer del (API) entonces PHP procesa la consulta SQL en el Buffer de su (API)  no en el motor DB como tal, por ende esto es perdida de tiempo  :xD  (Cuando practiquen con optimizacion de codigo y base de datos 'Benchmark' y 'Profiling' se daran cuenta).

En vez de dar uso de la funcion mysql_query() y generar doble buffering como llamaria yo a este proceso (primero cargar todo al motor y luego pasarlo al buffer de la API... y no quiero imaginar si el motor tiene la Cache habilitada esto seria trillizos Buffering juas  :xD) utilizen la funcion mysql_unbuffered _query() asi obvian cargar en el buffer de la API todosssssss los registros y luego entonces procesar la consulta SQL sobre los datos existentes en ese buffer lol... es mejor trabajar directamente sobre el motor DB y obtener los resultados directamente desde el motor como tal  ;)

Es solo mi humilde opinion.


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: fede_cp en 25 Diciembre 2009, 07:50 am
Tifa, te pasaste, la verdad gracias por dar tu opinion, porque a castg y a mi (fede_cp), la verdad que costo mucho laburo y buen, comentarios asi neccsitabamos, entonces veo que tengo que leer un manual de mysql y php ya intermedio-avanzado, para tener idea de las api, y de los buffers, que no tenia absolutamente idea.

si tenes algun manual un poco mas avanzado, por favor aca estamos esperando con tomi (nos juntamos para navidad jajaja).


Pd:¿te gusto el diseño?


saludos!


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Servia en 25 Diciembre 2009, 10:29 am
utilizen la funcion mysql_unbuffered _query() asi obvian cargar en el buffer de la API todosssssss los registros y luego entonces procesar la consulta SQL sobre los datos existentes en ese buffer lol...

Desconocia de su existencia xD

Y va una pregunta, porque entonces sigue existiendo el mysql_query, que utilidad tiene volcar los datos dos veces si con una ya vale?

No se si se me entinede y perdona fede por desviar, pero es algo nuevo para aprender y tengo curiosidad.


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: ^Tifa^ en 25 Diciembre 2009, 18:23 pm
Hola nuevamente.

Yo encantada con poder ayudar en lo poco que pueda, no soy programadora PHP ciertamente.

Servia

No te sorprendas de este hecho, no eres el unico... creeme de 10 programadores PHP si 2 saben de la existencia de estas funciones es mucho  :xD  lo que ocurre es que el programador generalmente no se lia con optimizacion de consultas o base de datos o del servidor en si, el solo quiere que su codigo sea funcional y entendible, lo cual es normal es un programador no un analista de optimizacion.

La razon por la cual existen 2 funciones (mysql_query & mysql_unbuffered_query) es que hay limitaciones y condiciones que te aportan mysql_query que mysql_unbuffered_query no, por eso dije indaguen via Google la funcionalidad y limitaciones de mysql_unbuffered_query, para que tengan una idea de cuando les conviene usarle y cuando no, aca pego una URL:

http://www.php-es.com/function.mysql-unbuffered-query.html

fede_cp

Lamentablemente poco te puedo ayudar con PHP, conozco un poco como funciona debido a que trabajo con PERL y MySQL y las API (los modulos) trabajan de manera similar sin importar el lenguaje en cuestion. No puedo en este subforo hacer una extension muy amplia de como funciona realmente MySQL en su parte interna, pero todo influye y si puedes ahorrarte un poco el consumo de memoria sea a traves del codigo, sea a traves del motor DB, hazlo. No todo es solamente 'No puedo cargar el motor DB' aveces cargamos cosas en la RAM y dicho cuello de botella viene por el codigo fuente y la libreria y no tanto del todo por el motor DB.

Hay una funcionalidad que utilizo mucho en PERL (aplicable en PHP y otros lenguajes) para medir y optimizar tu codigo en cuanto a consumo de CPU y memoria (Esto es indiferente al funcionamiento del motor DB) dicha tecnica se llama Benchmarking, para empezar te doy este link:

http://www.desarrolloweb.com/articulos/calcular-tempo-ejecucion-script.html

Pero a traves de Google encontraras muchos mas que te serviran de guia para medir la ejecuciones de tus aplicaciones en PHP   ;) 

Si quieres realizar lo mismo en el motor DB ya es otro asunto, pero te vale por el momento la respuesta de medir tu script.

Sobre el diseno de tu aplicacion, me gusta la pantalla de instalacion aunque a mi opinion personal se veria mas bonita si dicha pantalla ocupase el index completo (Lo mismo para las demas pantallas como Portafolio, despues de logeado, etc), y las ventanitas que piden la informacion estuviesen de manera alineadas (una bajo la otra). Es solo mi opinion que conste, si la consideras y decides ampliar la pantalla a modo completo, tambien deberias ampliar dichas ventanitas de solicitud de informacion para que no se vean pobres dentro de tanto espacio. Y ampliarlo no seria tan negativo  ;) te permitiria colocar botoncitos de Ayuda al lado de cada Entry (Para los usuarios que no sepan que informacion colocar en los Entry).





Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: fede_cp en 25 Diciembre 2009, 19:06 pm
muchas gracias, voy a empezar a averiguar sobre todo esto, porque tengo pensado hacer una especie de "juego-navegaodor", en php y mysql y el uso de la memoria y el ahorro de la misma va a ser fundamental ya que las consultas tambien van a ser demciadas


saluydos!


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Castg! en 25 Diciembre 2009, 19:31 pm
se te agradece mucho tifa, gracias por tu tiempo y atencion, nos servira mucho para la proxima version, vemos cuando empezamos a hacerla, porq yo ahora me meti en ASM y fede siguio por otro lado. jejej. un saludo grande y grac ias a todos!


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Ari Slash en 26 Diciembre 2009, 08:49 am
lo que mas me gusto fue algunos nombres de las variables   :xD


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: fede_cp en 26 Diciembre 2009, 17:47 pm
jajajajja, eso fue porque castg me apuro a postear y tenia que sacar todas esas cosas como Mi·erda, Por$·&%nga jaja


 :¬¬


saludos


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: [u]nsigned en 26 Diciembre 2009, 18:23 pm
Citar
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\admin\adduser.php:23) in C:\AppServ\www\admin\adduser.php on line 167

adduser.php
Código
  1. <?php
  2. header("Location:admin.html");
  3. ?>

No podes usar header si ya has printado algo en el documento  ;)


Título: Re: Simple sistema de administracion de portafolio (incasoft) by fede_cp
Publicado por: Castg! en 26 Diciembre 2009, 19:14 pm
jajajajja, eso fue porque castg me apuro a postear y tenia que sacar todas esas cosas como Mi·erda, Por$·&%nga jaja


 :¬¬


saludos


esperen, al principio quedamos que la "entrega" era para el 8 de diciembre, siempre me fue agregando un dia mas y asi hasta el 16 de diciembre. ahora dice que lo apure, porq yo si tube tiempo para depurar y para arreglar los estilos? porq habia estilo1.css estilo2.cs...... estilo9.css lo deje todo en unobien ordenado con nombres y no con "Layer32" jajaja. ahora lo apure yo! jejej