elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: [1] 2
1  Programación / PHP / Optimizacion PHP: Funciones VS Includes en: 28 Julio 2011, 04:21 am
Hola.

He buscado bastante sobre el tema y en ningún sitio he encontrado exactamente lo que necesitaba saber, así que voy a plantear mi pregunta de modo que pueda servir también a otros.

Ya conocemos las ventajas de programación dinámica en PHP, y las mejoras de escalabilidad que ofrecen las funciones e includes a la hora de modificar y adaptar un proyecto a necesidades futuras.

En algunos casos (cuando necesitamos que un dato sea retornado por el script) se utilizan funciones, y a la hora de añadir páginas que se repiten (como un menu) utilizamos includes, por lo general.

Pero hay situaciones en las que un include nos hace el mismo papel que una función, como por ejemplo a la hora de parsear elementos de un $_GET en ciertas situaciones. Cuando se dan estos casos, que resulta más eficiente para PHP; utilizar una función (o clase) o un include? Las variables del include (o require, por si acaso) estarán en el mismo ámbito en el que vana  ser utilizadas despues, por lo que llamarlas resultará mucho ,más eficiente, ademas, ahorraremos el tiempo de llamar a la función (que además deberá haber sido previamente incluida o se habrá tenido que crear una instancia, según el tipo de función), una vez terminada tendrá que devolver los valores y estos deberán ser almacenados. Todo este trabajo con el include no se realiza, pero PHP debe leer el fichero a incluir y ejecutarlo junto con lo demas, por lo tanto, mi pregunta en resumen es:
En igualdad de condiciones, que es mas eficiente, un include o una función?
2  Programación / PHP / ctype y la seguridad en: 27 Julio 2011, 08:03 am
Hola.

Estoy haciendo un diseño web en el cual hay de por medio un diseño de búsquedas.
A buscar.php se le pasarán por GET una serie de parámetros y éste se encargará de devolver el array que contiene la respuesta de la DB a la consulta.

Las queries se van a crear dentro de buscar.php, así que tengo que parsear las variables que llegan por GET.

Primero pensé en expresiones regulares o preg_replaces a secas para sustituir, pero luego me dije:
¿Por que tengo que gastar recursos del servidor en reescribir los intentos de un hijo de p*t* de buscar fallos en mi web? Y encontre ctype.
ctype_alnum($string) devuelve 1 si la string es alfanumérica.

Invocando ctype_alnum de esta forma:
Código:
ctype_alnum(str_replace(array('-','+'), '', $_GET['genres']))

Si no es positivo, no se asigna el $_GET a la variable y ese parametro de búsqueda queda no definido, o directamente se corta la ejecución del script.

Si se parsean así las variables ANTES DE HACER NADA MAS CON ELLAS, es seguro? o existe alguna forma de que alguien cuele SQL injection/ LFI /RFI/ cross-site scripting??
3  Programación / PHP / Menu dinámico PHP en: 21 Julio 2011, 04:42 am
Hola.
Estaba creando una web dinámica con php y me di cuenta de que necesitaba que el menú variase según en que módulo de la página nos encontrásemos, mostrando las subcategorías del módulo en el que nos encontramos, y no de otros. La variable $module es la que, en otras páginas, ha sido definida y tratada correctamente para contener solo los valores que nos interesan.

Como no se me ocurría ningún método mejor utilice un simple if para ejecutar o no ciertos echo; el código que utilice esta a continuacion.
Se os ocurre un método mejor de hacerlo o una forma de mejorar éste? Gracias.
<?php
if (!defined('nI')){
	
die(
'No se permite vizualizaci&oacute;n directa');
}
echo 
"<div class=\"leftmenu\">
	
<p>Inicio</p>
	
<p>Peliculas</p>"
;
if ((
$module=="peliculas") or ($module=="pelicula"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores películas</p>
	
	
<p>Las películas más vistas</p>
	
	
<p>Ultimas peliculas estrenadas</p>
	
	
<p>Ultimas peliculas añadidas</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Series</p>"
;
if ((
$module=="series") or ($module=="serie"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores series</p>
	
	
<p>Las series más vistas</p>
	
	
<p>Ultimas series estrenadas</p>
	
	
<p>Ultimas series añadidas</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Documentales</p>"
;
if ((
$module=="documentales") or ($module=="documental"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores documentales</p>
	
	
<p>Los documentales más vistos</p>
	
	
<p>Ultimos documentales estrenados</p>
	
	
<p>Ultimos documentales añadidos</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Juegos</p>"
;
if ((
$module=="juegoss") or ($module=="juego"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores juegos</p>
	
	
<p>Los juegos más jugados</p>
	
	
<p>Ultimos juegos estrenados</p>
	
	
<p>Ultimos juegos añadidos</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Musica</p>"
;
if ((
$module=="musica") or ($module=="artista"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores músicos</p>
	
	
<p>Los albums más escuchados</p>
	
	
<p>Ultimos albums estrenados</p>
	
	
<p>Ultimos albums añadidos</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"
	
<p>Programas</p>"
;
if ((
$module=="programas") or ($module=="programa"))
	

	
echo 
"
	
<div class=\"innerleftmenu\">
	
	
<p>Lista alfabetica</p>
	
	
<p>Mejores programas</p>
	
	
<p>Los programas más utilizados</p>
	
	
<p>Ultimos programas estrenados</p>
	
	
<p>Ultimos programas añadidos</p>
	
</div>
	
<div class=\"Clear-innerleftmenu\"></div>"
;
echo 
"</div>
<div class=\"Clear-leftmenu\"></div>"
;
?>
4  Programación / Bases de Datos / Duda PK y FK en: 17 Julio 2011, 20:45 pm
Hola.

Estoy diseñando una DB y para que la organizacion del contenido sea natural se me ocurrio utilizar taxonomías (no voy a explicar detralladamente como funciona la tabla y organizacion porque no lo creo necesario para la pregunta)

Las tablas son asi:

Taxonomies:
TaxID   (pk)
TaxFatherID (fk related to Taxonomnies.TaxID)
TaxNameSpa
TaxNameEng


Peliculas
Mov.ID (pk)
MovTaxID (fk related to Taxonomy relacion 0 a 1)   -- Cada pelicula tendra su taxonomía propia!)
RestoTabla

Series
Ser.ID (pk)
SerTaxID (fk related to Taxonomy relacion 0 a 1)   -- Cada serie tendra su taxonomía propia!)
RestoTabla

TVFilms
TMov.ID (pk)
TMovTaxID (fk related to Taxonomy relacion 0 a 1)   -- Cada serie tendra su taxonomía propia!)
RestoTabla


Tengo 2 preguntas: Pueden las fk de TVFilms, series y pelis ser indices? Seria esto compatible con la forma normal 3? los elementos serian únicos, no es realmente necesario el surrogated key ModID

He leido en un documento de MySQL lo siguiente:
En la tabla que hace referencia, debe haber un índice donde las columnas de clave extranjera estén listadas en primer lugar, en el mismo orden.

Las taxonomías se crean a la vez que las pelis/series, así que el orden sera el mismo, pero por cada elemento en movies se preveen alrededor de 5-10 entradas en taxonomies, entre las que pertenecen a series,tvmovies y las subcategorias de cada una
5  Programación / Bases de Datos / Sobre el diseño de una DB en: 16 Julio 2011, 04:59 am
Hola.

Estoy diseñando una DB para una especie de CMS desde 0 que quiero hacer (por favor, no me sugirais utilizar un CMS ya creado, estoy haciendo esto además de para utilizarlo para aprender programacion PHP, javascript y sobre el diseño y mantenimiento de DBs) y se me plantea una duda:

En caso de contenidos similares (por ejemplo; la ficha de una película y de una serie, en las cuales en una hipotética tabla tendrian el mismo dominio en todos los atributos); es mejor crear una única tabla "PelisySeries", añadiendo un campo que diga si es película o serie o dos tablas, "películas" y "series".

Las consultas serían, en caso de una búsqueda por el usuario tanto pedir una lista de películas o una de series como dos listas, una de cada.

En términos de rendimiento, que consume menos recursos del sistema (con recursos no me refiero a espacio en el HDD, sino en RAM y procesador):
-Consultar una tabla de peliculasyseries en busca de películas o series (es un o exclusivo)
frente a:
-Consultar en una tabla de películas O (exclusivo) en una de series en busca del contenido de su tipo.
En el caso anterior supongo que la segunda, debido a que la tabla es más pequeña; pero en el siguiente caso:
-Consultar una tabla de peliculasyseries en busca de películas y series
frente a:
-Consultar en una tabla de series las series y seguidamente en una tabla de películas las películas.

En ambos casos la búsqueda puede tener diferentes parámetros y tal, pero con resolver esta conslta creo que casi todas las dudas con el diseño básico de la DB estaran contestadas, a falta de que surjan futuras dudas.


En resumen mi duda podria resumnirse en algo como:
"En bases de datos con tablas de más de 200.000 filas, es rentable en términos de rendimiento dividir las tablas según un atributo (en este caso tipo_contenido) a cuyo dominio solo pertenecen 3 o 4 valores (por ej: pelis,series,juegos) en tablas diferentes? Ahorra tiempo la reduccion del número total de elementos a buscar frente al acceso a multiples tablas?)"

O sería mejor utilizar una vista? Que hace MySQL para mantener actualizada una vista; modificarla cada vez que se modifica la tabla origen o "crearse" por cada consulta que el usuario realiza?Es decir, si yo modifico una tabla apuntada por una vista y antes de que nadie más modifique la tabla 20 usuarios acceden a la vista; esta consumirá recursos para actualizarse 20 veces o solo 1?


Pregunta 2: Para almacenar mensajes privados que NO deben desaparecer del outbox del usuario que lo envia en caso de que el usuario que los recibe los elimine se me ocurren 2 cosas:
La peor: Guardar 2 veces el mensage, una en el inbox y otra en el outbox del usuario.

La que según creo es la mejor: Crear 1 sola version del mensage, con sender_id;  msg_id y reciever_id. Crear tablas inbox y outbox que contengan msg_id; y a la hora de listar compruebe el out/inbox. Cuando NI el outbox NI el inbox listen un mensage, este podrá (o no, segun intereses) ser eliminado del sistema
6  Programación / Bases de Datos / Optimizacion de MySQL y ejemplos bases de datos pelis/social en: 1 Junio 2011, 02:47 am
Hola.

Estoy trabajando en un proyecto personal de página web que contenga una base de datos con películas, detalles, enlaces y demás, y mientras planeaba la estructura de la DB he pensado que no tengo ni idea sobre el rendimiento de MySQL cuando se enfrenta a multiples consultas en uan base de datos potencialmente grande.

He estado buscando un buen rato por google pero no he encontrado ningun manual genérico sobre la optimizacion de MySQL, y por esta web he de confesar que no he buscado demasiado porque ya tengo sueño y llevo varias horas con el pc...

En fin, si alguien conoce algun manual al respecto, tanto en inglés como en castellano (preferiblemente castellano, pero me desenvuelvo con el ingles aceptablemente jeje).

Gracias y perdon por la molestia, que estoy siempre pidiendo, pero cada dia hay más basura por internet, buscar hoy en dia da asco, antes buscabas algo en google y salian cosas útiles, ahora la mayoria son copias malas de algun documento con la esperanza de obtener algun click que les regale algun centimo >.<.

Oh, si alguno sabeis de algun ejemplo publicado de estructuras de una base de datos enfocadas a una web del tipo seriesyonkis o a una red social podriais linkarlas tambien? estoy buscando ideas para la estructura de ciertas bases de datos y me vendrian bien ejemplos hechos por gente que sabe del tema (no pido que me hagais el trabajo, pero creo que la mejor forma de aprender es ver código, o en este caso, estructuras de algo parecido a lo que yo quiero hacer).
7  Seguridad Informática / Wireless en Linux / [solucionado]Ralink 3070 y wifiway en: 7 Mayo 2011, 16:32 pm
Hola.

Me he pillado una Alfa Network AWUS036NEH, y por lo visto tiene el chipset Ralink 3070 (RT3070)
Segun he leido en la web en donde la compre, para poder auditar con esta tarjeta tengo que usar el CD de arranque llamado Beini.
Hasta aqui todo bien, el Beini funciona y esas cosas.
(por si te ha surgido el mismo problema, Beini se obtiene aqui: http://www.ibeini.com/), es un tiny core linux.

El tema es que este sistema carece de diccionaros de claves, así qyue el tema se eterniza bastante.

Lo que quiero saber: Es posible con las versiones actuales de wifiway utilizar esta tarjeta? He estado buskando topics, pero son todos viejos, de la epoca de wifiway 1, y como que de poco me sirve eso.

Gracias, y espero que si alguien ha tenido el mismo problema y no lo pudo solucionar el tema de Beini le sirva como parche


Solucionado! Con wifiwai 2.0.1 o superior funciona
8  Programación / PHP / Duda PHP en: 13 Abril 2011, 19:06 pm
Hola.

He estado mirando la biblia de PHP, y he visto que es posible acceder a una página web remota y obtener informacion de la misma, asi como crear archivos en un servidor remoto, pero es posible que un script php ACCEDA a un sitio web externo y lo "utilice"?

Es decir, un ejemplo de implementacion seria:
Alguien introduce un enlace en mi sitio web. Un script php captura el enlace del formulario y lo envía digamos a un rapidleech o sborg (scripts que descargan/suben archivos a fileserve etc) alojado en un servidor externo. Para que este segundo servidor se lo descargue, resuba y al devolver los enlaces el script del primer sitio web los guarda en la base de datos.

La pregunta es, es posible que el script del sitio web A "utilice" automaticamente el sborg o rsapidleech en lugar de tener que ir yo manualmente a dar los clicks necesarios. En caso afirmativo, donde hay un manual que explique como acceder e interactuar con otros sitios web
9  Programación / Desarrollo Web / Creacion página web de descargas. en: 12 Abril 2011, 22:10 pm
Hola.

Quiero crear una página web de enlaces a descargas (con esto del cierre de webs habrá que colocarla en otro pais, pero weno eso ya es otro problema jeje) pero no me gusta el estilo de foro de cara al usuario, estaba pensando algo más como seriesyonkis (perdon por dar el nombre de la web, pero no creo que sea publicidad sino más bien un ejemplo).

Lo que me interesa es hacer la web en php con un diseño modular (se llama asi cuando ciertas partes de la web se mantienen siempre y solo se cambia una parte cuanddo se bucea en los menus, no?),  con un sistema de usuarios y base de datos mysql para los aportes.

Una vez dicho lo que quiero crear, mi peticion:
Qué manuales recomendais para leer? estoy estudiando informática, pero no hemos hecho absolutamente nada de PHP aun) necesito aprender sobre interaccion php-mysql, programacion de php modular y de sistemas de usuarios.
Utilizais algun editor o alguna base preescrita para sistemas de usuarios o programacion modular o programais de cero?

Sobre apache y demás instalaciones en el servidor no necesito ayuda

Muchisimas gracias.


[EDIT]  He pensado en utilizar algún CMS, pero no cumplen todo lo que quiero implementar en mi web, así que prefiero escribirila yo mismo y poder añadir las cosas que necesite. [/EDIT]
10  Seguridad Informática / Hacking Wireless / Duda sobre varios routers conectados por wifi en: 9 Enero 2011, 05:17 am
Hola.

Me interesa conectar un router a otro router wifi, y desde el primer router ofrecer conexion a distintos ordenadores.
En la universidad aun no nos han enseñado nada sobre wireless (triste, eh?) y no se si hacer esto es posible, y si se necesitan 1 o mas interfaces wifi. Tambien se que tengo que hacer NAT, pero no hemos visto tampoco el NAT en wifi, solo entre puertos ethernet -.-

No me interesa robar wifi si es lo que pensais xD, el tema es que la casa de mi madre esta a unos 400 metros de la mia, y tengo una antena que me sirve para conectarme con un ordenador desde casa, pero tengo tres ordenadores, la ps3 y demás y me interesaria mucho conectarlas por wifi, y no quiero comprar antenas para todo, asique pense en conectar la antena aun router y establecer ahi un punto de acceso para mi casa. Ya pagamos 1 conexion, no voy a pagar 2, coño, que estos de timofonica son unos careros.

Gracias.

No pido una solucion directa, si teneis un enlace a algun capitulo de un manual que hable sobre wifi me vale.
Páginas: [1] 2
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines