dev-php – Moy Blog https://moythreads.com/wordpress Abandon All Hope, Ye Who Read This Blog Mon, 15 Feb 2021 22:51:26 +0000 en-US hourly 1 https://wordpress.org/?v=5.1.9 CIISA 2007 ( actualizado con presentacion corregida ) https://moythreads.com/wordpress/2007/06/04/ciisa-2007/ https://moythreads.com/wordpress/2007/06/04/ciisa-2007/#respond Mon, 04 Jun 2007 00:53:44 +0000 http://www.moythreads.com/wordpress/2007/06/04/ciisa-2007/ Continue reading ]]> Chale, de plano soy malisimo para esto de actualizar el blog. En fin. Estarè dando una plàtica en el CIISA 2007 ( Congreso Internacional en Ingenierìa de Software y Sus Aplicaciones ) en Julio. El tema: “Vulnerabilidades en Aplicaciones Web PHP”. Justo acabo de terminar el material y enviarlo para su revisiòn. Aqui dejo ligas al material tambièn para quien pueda interesarse.

Vulnerabilidades en Aplicaciones Web PHP ( presentaciòn PowerPoint )

Vulnerabiliades en Aplicaciones Web PHP ( tutorial para ejercicios PDF )

Vulnerabilidades en Aplicaciones Web PHP ( codigo )

Cualquier correcciòn o sugerencia serà bienvenida…

]]>
https://moythreads.com/wordpress/2007/06/04/ciisa-2007/feed/ 0
Asterisk Manager Interface PHP extension https://moythreads.com/wordpress/2006/12/08/asterisk-manager-interface-php-extension/ https://moythreads.com/wordpress/2006/12/08/asterisk-manager-interface-php-extension/#respond Fri, 08 Dec 2006 01:15:12 +0000 http://moy.ivsol.net/wordpress/?p=17 Continue reading ]]> Ha pasado algo de tiempo desde mi ultimo post, pero he andado algo ocupado. Por estos dias ya empece a escribir ( al fin ) mi extensión en C para el lenguaje PHP, esta extensión le dará soporte a PHP para conectarse directamente y sin escalas al API del manager de Asterisk. En linux ya compila y funciona al 80%. Necesito terminar ese 20% restante y darle soporte para windows.

El API general para PHP es:

resource ami_connect(string host, string user, string passwd)
bool ami_send_action(resource ami, string action, [array data])
array ami_read(resource ami, int timeout)
bool ami_attach(resource ami, string event, callback user_callback)
bool ami_detach(resource ami, string event)
int ami_queue_action(resource ami, string action, [array data], [callback user_callback])
void ami_loop(resource ami)
void ami_disconnect(resource ami)

CONSTANTS

AMI_KILL_LOOP
AMI_EXIT_LOOP

Y este es un script que he estado usando para probar:

http://moy.ivsol.net/scripts/ami.php

Es interesante empezar a conocer mas a fondo como funciona el zend engine. Ya con algo mas de experiencia explicare a detalle como hacer una extensión, de momento solo quiero hacer mención que dentro del zend engine, todas las variables son representadas como una estructura de C llamada zval. Asi que por ejemplo, para recibir una variable como argumento usualmente se hace algo como esto:

zval *my_argument; // declaramos el apuntador a la variable PHP

int my_length; /* aqui el zend engine pondra la longitud del argumento, en este caso es una cadena */

zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, “s”, &my_argument, &my_length);

de esta forma tenemos el argumento enviado por el usuario y la longitud de la cadena, el argumento “s” es una cadena de formateo, es necesario para especificar de que tipo debe ser el zval, en este caso una cadena.

ahila…

]]>
https://moythreads.com/wordpress/2006/12/08/asterisk-manager-interface-php-extension/feed/ 0
mas de TDD https://moythreads.com/wordpress/2005/10/29/mas-de-tdd/ https://moythreads.com/wordpress/2005/10/29/mas-de-tdd/#respond Sun, 30 Oct 2005 03:36:03 +0000 http://phpmexic.u33.0web-hosting.com/wordpress/?p=3 Continue reading ]]> bueno, al fin he podido resolver el problema que tenía con el test suite para el proxy. Los problemas se debían principalmente a mi inexperiencia y la dificultad intrínseca de probar sockets. Afortunadamente el test está corriendo bastante bien usando incluso un par de pcntl_forks() y un workaround para generar eventos de forma aleatoria.

Para una explicación mas detallada aqui está el link al código y al foro de sitepoint donde seguimos comentandolo.

thread de sitepoint

Código del test

se ven,

]]>
https://moythreads.com/wordpress/2005/10/29/mas-de-tdd/feed/ 0
XP & TDD https://moythreads.com/wordpress/2005/10/28/xp-tdd/ https://moythreads.com/wordpress/2005/10/28/xp-tdd/#respond Fri, 28 Oct 2005 10:01:26 +0000 http://phpmexic.u33.0web-hosting.com/wordpress/?p=2 Continue reading ]]> bueno, con la novedad de que por fin hemos decidido iniciar con extremme programming, metodología que está intimamente ligada con el Test Driven Development. Principalmente lo desafiante para un principiante como yo, es que tienes que cambiar radicalmente tu forma de programar. Ahora debes escribir tests automatizados de tu código incluso antes de que escribas tu código. Las reglas son simples:

1. disenias tu API
2. escribes tests para tu API (los tests deben probar funcionalidad)
3. escribes el código que debe pasar los test
4. corres tus tests
5. corriges lo que seguramente no pas&ouacute; los tests, y vuelves al paso 3.

“code a little, test a little” dicen en varios sitios relacionados con el TDD.

Pero pues se nos ocurrió iniciar con una aplicación complicada por dos cosas:

1. la habiamos iniciado sin haber decidido utilizar XP, por lo que no pudimos aplicar la de escribir primero los tests, mas bien tuvimos que hacer los tests despuús de que ya existía código escrito.
2. la aplicación es un proxy, y probar sockets, servidores y clientes, es una bronca incluso para programadores experimentados con TDD, como se puede apreciar en los siguientes posts de sitepoint donde hemos estado comentando la mejor forma de hacerlo. El post está un poco inactivo desde hace unos dias por que no he respondido, pero espero hacerlo pronto. Incluso el cuate que escribió el framework para testing “simpletest” me comenta que es un poco complicado.

sitepoint: thread en site point aqui

de rato ….

]]>
https://moythreads.com/wordpress/2005/10/28/xp-tdd/feed/ 0