Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

martes, 13 de abril de 2010

PHP genera números aleatorios débiles, fáciles de adivinar

Andreas Bogk, senior hacker de la empresa Xing y miembro del legendario Chaos Computer Club, afirma que PHP crea números de sesión de usuario (ID) propensos a ser adivinados con facilidad. Esto es grave si consideramos la inmensa red de sitios web (e.g., algunas redes sociales) que utiliza ese motor para la creación de sus páginas web.

El estudio de Bogk, difundido hace un par de días desde SecList.org, revela lo siguiente:

  1. PHP utiliza un débil, criptográficamente hablando, generador de números aleatorios (RNG) para producir identificadores de sesión de usuario.

  2. PHP no usa suficiente entropía para la semilla del RNG, y parte de ella puede perderse con el mal uso de la función uniqid().

  3. Bajo ciertas circunstancias, la conjunción de ese par de debilidades provoca una reducción en la cantidad de posibles valores de un ID de sesión con PHP, tanto así que es factible un ataque contra un servidor web por la búsqueda exhaustiva de ID válidos.

Samy Kamkar, otro gran hacker, evidenció hace unos meses lo fácil que es predecir ID de sesión. Esto llevó a mejorar la forma de crear semillas para el algoritmo RNG en versiones posteriores de PHP. El hallazgo de Bogk revela que los cambios aún son insuficientes y recomienda a los desarrolladores de PHP mejorar sus conocimientos en criptografía. Aquí cabe mencionar que las instalaciones de PHP que usen Suhosin no están comprometidas.

Como sucede en muchos otros casos, el trabajo de esos hackers ayudará a mejorar la seguridad de PHP.

martes, 6 de abril de 2010

Manual del API de Twitter y PHP

interesante lo que encontre aca lo puedes hallar en este manual

1.- Introducción al API de Twitter y cURL
Generalidades sobre el API de Twiter y el acceso a la información por HTTP utilizando la librería cURL. Entrar
2.- API de Twitter, PHP y cURL
Hacemos un primer script PHP que se conecta con el API de Twitter y accede a la información por medio de la librería cURL. Entrar
3.- Utilizar una librería PHP para trabajar con el API de Twitter
Cómo utilizar la librería Twitter class para trabajar con el API de Twitter de una manera sencilla bastante sencilla. Entrar
4.- Más sobre la Twitter Class
Otros cuantos ejemplos de uso de la librería PHP para acceder fácilmente al API de Twitter desde nuestras aplicaciones web. Entrar
5.- Enviar mensajes a Twitter desde PHP y el API de Twitter
Cómo enviar mensajes a una cuenta de Twitter desde tus propios scripts PHP y utilizando el API de Twitter. Entrar



Tag technorati:

Tag Blogalaxia:

jueves, 26 de noviembre de 2009

Crear graficos estadisticos con PHP( pChart ) y MySQL

Hace algunos dias me vi en la necesidad de usar una libreria para generar reportes estadisticos, anteriormente habia usado una libreria JpGraph, pero que por motivos de algunos problemas con el renderizado de la imagen y su baja calidad, busque una nueva libreria, la cual se llama pChart, realmente es muy accesible, facil de manipular y crea graficos muy profesionales, los cuales son adaptables a a necesidad.

Primeramente es necesario descargar la libreria desde su web (pChart), donde existen ejemplos utilizando datos estaticos, aqui veremos como implementar una reporte grafico usando base de datos.

Crearemos la base de datos llamada arqonexus. con la tabla personm. la cual contendra los datos de personas y sus respectivas edades.

1.CREATE TABLE `personm` (
2. `cpersona` int(10) NOT NULL,
3. `nombre` varchar(20) NOT NULL,
4. `apellido` varchar(50) NOT NULL,
5. `edad` int(3) NOT NULL,
6. PRIMARY KEY (`cpersona`)
7.) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Ahora rellenaremos de datos.:

1.insert into `personm`(`cpersona`,`nombre`,`apellido`,`edad`)
2. values (1,'Moshe','Cotacallapa',18),(2,'Jose','Ramirez',24),(3,'Mateo','Hurtado',17),(4,'Carlos','Gonzales',19),(5,'Judas','Iscariote',24),(6,'Pedro','La Roca',21),(7,'Ananias','Gutenm',24),(8,'Maria','Carmona',18),(9,'Julio','Farre',19),(10,'Charles','Chaplin',19),(11,'Noe','Prado',17),(12,'Viviana','Roman',17),(13,'Tadeo','Torres',19);

Ahora que ya tenemos nuestra base de datos llenada, procederemos a implementar nuestro sitio.
Descompimir el archivo en una carpeta llamada, grafico, y crearemos un nuevo archivo php llamado conexion.php.

En el archivo a descargar existen 2 archivos php, uno de ellos se llama mypie.php y el otro vermypie.php, de los cuales el primero se encarga de crear la imagen a mostrar, el segundo hace un llamado al primero y tambien llama a la imagen renderizada.

Si desemos cambiar los datos lo podemos realizar en esta parte de mypie.php

01.include "conexion.php";//llamamos a la conexion, donde uds puede modificar la base de datos ,user y pass.
02.$cn=LibMySQL::getInstancia();
03.
04.include("pChart/pData.class");
05.include("pChart/pChart.class");
06.
07. $rs=$cn->consultar("select count(edad) as cedad,edad from personm group by edad asc;");//la consulta a la base de datos pidiendo la cantidad de edades de una determinada edad
08. $edad=array();//creamos el array
09. $cedad=array();
10. foreach($rs as $datos){
11. $edad[]=$datos['edad']." de edad"; //asignamos a los arrays creados
12. $cedad[]=$datos['cedad'];
13. }
14.
15. $DataSet = new pData;
16.
17. $DataSet->AddPoint($edad,"Edad");//el texto
18. $DataSet->AddPoint($cedad,"Porcentajes");//Extrayendo Porcentajes(la libreria se encarga de extraerlos , tan solo es necesario colocar cantidades.)
19.$DataSet->AddAllSeries();
20.$DataSet->SetAbsciseLabelSerie("Edad"); //no olvidar que aqui van los textos(nombres de los campos)
21.....// el codigo continua, pero no es necesario modificarla.
22......//
23. $Test->Render("ReporteEdad.png");//en la ultima parte se ve el nombre de la imagen que deseamos que se cree.

ahora veremos vermypie.php
En este caso el boton se llama ver

1.if(isset($_POST['ver'])){
2. include("mypie.php");//no olvidarse llamar a nuestra archivo de renderizado
3. echo "";//llamar al nombre de la imagen que hemos colocado en el mypie.php
4. }

Ahora nos quedara de la siguiente forma:
buttons

Todo el archivo para descargar y ver la prueba se encuentra aqui:
espero que les sirva.


jueves, 12 de noviembre de 2009

Añadir búsquedas CakePHP en Firefox

Si estás profundizando en el trabajo con CakePHP, te puede ser muy útil contar con estos plugins para Firefox que te permiten incluir entre los motores de búsqueda del navegador: La API de CakePHP; El Cookbook de CakePHP, Sitios relacionados con CakePHP; y el Google Groups de CakePHP. Para incluir estos motores de búsqueda en Firefox tienes que seguir estos sencillos pasos:

  • Ir a: http://mycroft.mozdev.org/search-engines.html?name=cakephp
  • Pulsa el enlace a “CakePHP API” (o a cualquiera de los otros cuatro)
  • Añade “CakePHP API” a la lista de motores de búsqueda disponibles en la barra de búsquedas de Firefox
  • (Puedes ver el nuevo motor de búsqueda en la lista desplegable)
  • Ctrl + K (windows) o atajo de teclado similar en tu SO
  • Escribe el texto de búsqueda, y pulsa “Enter”
  • Ver resultados
  • 12 scripts para foros en php

    Los foros phpBB se han convertido en los más utilizados en la red, pero hay muchas otras opciones con sus propias peculiaridades. En Webdesignbooth listan doce Script de foros elaborados con PHP, todos ellos opensource, con lo que te pueden ser de ayuda si piensas embarcarte en la creación de tus propios foros PHP. Desde phpBB a MyBB o SEO-Board, Vanilla.... y así hasta 12

    Patrón de Diseño Singleton en PHP5

    "Patrón de Diseño Singleton


    Artículo dedicado al entendimiento y uso del patrón Singleton en PHP5:


    El Patrón de diseño "Singleton" está diseñado para restringir la creación de objetos pertenecientes a una clase, forzando a que solo se pueda crear una única instancia, de ahí su nombre Singleton (instancia única).


    Un ejemplo de uso de este patrón: supongamos que tenemos una clase "Database" y instanciamos dicha clase, la cual nos devuelve un objeto llamado "$conn", una vez creada la conexión con la base de datos esta simple instancia será fácilmente accesible a muchos otros objetos, restringiéndose así a la creación de una única instancia la cual será reutilizada una y otra vez.


    Aquí les dejo el link al artículo y espero que sea de su agrado:

    Patrón de Diseño Singleton en PHP5



    versión estable cake php 1.2.5

    Curso de CakePHP CakePHP ha lanzado la versión estable 1.2.5, la cual es compatible con PHP 5.3 y contiene arreglos para suprimir los mensajes de desaprobación que se presentaban con la versión anterior.

    Ir a página oficial de CakePHP

    Patrón Decorator

    Desde DesarrolladorSenior, Curso de Patrones de Diseño en PHP5 donde vemos el uso del Patrón Decorator.

    Patrón de diseño Decorator en PHP5


    Un Decorator responde a la necesidad de agregar funcionalidad a un objeto por medio de la asociación de clases. Es un objeto con el que se puede ejecutar funcionalidades de varias clases a la vez. Esto nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera.

    El uso de este patrón es equivalente a utilizar la herencia múltiple pero sin los problemas que esta conlleva como son: las colisiones de nombres y la herencia repetida.

    Patrón simple factory

    Desde DesarrolladorSenior. Curso de Patrones de Diseño en PHP5, donde vemos el uso del Patrón "Simple Factory".






    Clasificación del patrón

    Estructural.



    Intención o problema que soluciona

    Centraliza en una clase constructora la creación de objetos de un subtipo de un tipo determinado, ocultando al usuario la casuística para elegir el subtipo que crear.

    viernes, 6 de noviembre de 2009

    php 5.3

    Aqui obtendrás información acerca de migrar de php 5.2 a 5.3 http://es2.php.net/migration53
    Aqui todo lo relacionado con php 5.3 http://php.net/releases/5_3_0.php