Al enviar (publicar) correos de la lista de distribución (MaMML de Mambo) no me aparecia la lista de correos enviados y parecia que la página quedaba trabada y no hacia nada aunque en realidad si enviaba los email's. Despues de investigar un poco me di cuenta que utiliza la función flush() de PHP la cual nos ayuda a enviar la salida del buffer al navegador del cliente sin importar que aun no se ha cargado la página completamente.
En palabras de la ayuda de PHP tenemos lo siguiente:
Vacía los búferes de salida de PHP y de cualquiera que sea el motor que PHP esté usando (CGI, un servidor web, etc). Esto en efecto trata de enviar toda la salida acumulada hasta el momento al navegador del usuario.
Y tambien indica en la ayuda que puede tener un comportamiento extraño cuando se utiliza compresion Gzip desde Apache y ya con esta información revise la configuración de Mambo y me di cuenta que efectivamente la directiva $mosConfig_gzip del archivo configuration.php estaba activada (1) y por lo tanto mandaba los encabezados de compresión.
Para solucionar el problema del modulo MaMML pero seguir teniendo compresión Gzip (ya que esto ayuda en la velocidad de transferencia de datos desde el servidor web) es necesario modificar el archivo includes/mambo.php y buscar la función initGzip y despues reemplazar la linea del IF que dice:
Digo es un mega parche pero funciona bastante bien, supongo que si se tienen varias páginas con este problema del flush se podria buscar una comparación en un arreglo de modulos o algo asi, pero para este problema especifico ese error se soluciona.
Hoy tuve que agregar un atributo NAME a la página web de compra y venta de equipo médico, Medicalmex ya que tengo un menú y queria que al picarle en las opciones me mandara a una sección definida de la página, de ahi que se utiliza el atributo NAME dentro de una etiqueta A (para enlaces), teniendo algo como: Pie de página y mandar llamarla de la siguiente forma: Ir al pie de página, hasta este punto todo muy normal con la sintaxis HTML , pero el problema empieza cuando tenemos un elemento llamado BASE, el cual nos permite cambiar la dirección principal para cuando utilice una página con ruta relativa tome la base y complete el URL (jeje, no se me hagan bolas ), algo como sigue:
Tenemos nuestra página www.oviedos.com.mx y cuando mandamos llamar la página index.php el navegador automaticamente agrega www.oviedos.com.mx ya que es el sitio web que estamos visitando en este momento, pero que ta si no queremos que al picarle en cualquier liga de la página nos mande llamar a http://www.oviedos.com.mx sino que queremos que llame http://start.oviedos.com.mx, haaa!! pues una solución es utilizar y listo!!! todas las páginas mandaran llamar los links como si fueran de la dirección BASE..., un poco mas claro no???
Entonces si mezclamos NAME con BASE tenemos un problemon!!, ya que si estamos en la página
index.php/pages/1.html y mandamos llamar con NAME #abajo deberia quedar index.php/pages/1.html#abajo hasta aquí todo bien!! si no fuera porque nos queda index.php#abajo ya que en nuestra etiqueta BASE tenemos y ahi es donde empiezan los problemas!!, ahora bien la solución a todo esto es utilizar JavaScript
El algoritmo que utilizaremos es:
Obtener la cadena del URL actual
Contar con el valor de NAME a el que queremos dirigirnos en la página
Buscar el cualquier valor NAME en la cadena URL, osease que comience con gato #
Si se encontro el valor NAME se debe eliminar y dejar la cadena URL sin esa información
Concatenar el nuevo valor NAME a la URL ya parseada
Mandar llamar la nueva página web.
function hrefbase(tagname){ var newText = "";
searchTerm = "#"; var i = -1; var bodyText = location.href;
i = bodyText.indexOf(searchTerm, i+1); if(i <0){
newText = bodyText; }else{
newText = bodyText.substring(0, i); }
location.href=''+newText+searchTerm+tagname; }
Solo se tiene que mandar llamar la función hrefbase con el parametro que es la etiqueta NAME a la cual queremos ir y listo!!, una forma practica es mediante el evento ONCLICK:
<div ONCLICK="javascript:hrefbase('pagina_abajo');">Ir al pie de página</div>
Despues pueden utilizar alguna hoja de estilo CSS para darle un formato más adecuado, ya se poniendo una linea de subrayado ( text-decoration: underline; ), o la manita del cursor como si fuera un enlace ( cursor: pointer; ).
He encontrado en unas carpetas de imagenes, unos archivos con extensión PHP y con nombres de numeros aleatorios (eso creo), en donde esta el siguiente codigo:
y bueno, a simple vista no significa nada a excepto de unos includes medio sospechosos!., con una cadena codificada, si descodificamos la cadena son unas URL, en donde se efectua el ataque y robo del servidor, supongo que para enviar SPAM! y mas SPAM!...., esta es la traduccion de base64 a algo entendible
Ahora bien, la pregunta para solucionar eso es, alguien sabe alguna forma de desabilitar que en un include o requiere de PHP se pueda leer rutas externas mediante HTTP, HTTPS ????, y que solo pueda leer contenidos de la maquina local??.., creo que activando esa directiva podremos evitar muchos de estos ataques.
Tambien para variar he encontrado un archivo .htaccess dentro del mismo directorio de los archivos sospechosos de PHP que contiene lo siguiente:
Muy ingenioso su script no??, asi por cada error 404 manda llamar su mentado script y quien sabe que tantas cochinadas haran!..,
Tambien sera algun bug del gadget Phoo del Jaws???, o sera que como es un servidor compartido, algun otro usuario esta enviando este tipo de cosas??... tendre que revisar los logs a ver si veo algo extraño., pero de mientras si tienen un server, verifiquen sus archivos!, no vaya a ser que esten infectados
Cambie de servidor el sitio de abcpediatria.com y despues de querer publicar un nuevo post me aparece un mensaje de error como el que sigue:
DB function failed with error number 1054
Unknown column 'c.access' in 'on clause' SQL=SELECT c.*, g.name AS groupname, cc.name, u.name AS editor, f.content_id AS frontpage, s.title AS section_name, v.name AS author FROM appluscontent AS c, appluscategories AS cc, applussections AS s LEFT JOIN applusgroups AS g ON g.id = c.access LEFT JOIN applususers AS u ON u.id = c.checked_out LEFT JOIN applususers AS v ON v.id = c.created_by LEFT JOIN appluscontent_frontpage AS f ON f.content_id = c.id WHERE c.state >= 0 AND c.catid=cc.id AND cc.section=s.id AND s.scope='content' ORDER BY s.title, c.catid, cc.ordering, cc.title, c.ordering LIMIT 0,10
Lo más raro es que antes funcionaba bien, ejecuto la consulta en el phpmyadmin y nada de nada! me dice que la columna c.access no existe!, changos!..., hasta que por fin encontre la solución al error, es tan simple como cambiar la linea de codigo del archivo /administrator/components/com_content/admin.content.php donde dice:
. "\n FROM #content AS c, #categories AS cc, #sections AS s"
por la siguiente línea:
. "\n FROM #categories cc, #sections s, #content c"
Cual es la diferencia, pues el acomodo de content en el FROM ya que despues viene un LEF JOIN y ahi es donde fallaba.
Ahora si bajo diria yo en un 100% el SPAM en la pagina del Pediatra Raigosa en especial las secciones donde se ponen comentarios y el calendario de consultas medicas ya que tenia por lo minimo unos 4000 comentarios de SPAM y en todos decian casi casi lo mismo, por eso decidi buscar un mega filtro ANTI-SPAM!.., la solucion fue!, cuando vea una palabra no deseada no guardar la información y listo!.. asunto arreglado.
Si alguien sabe mas palabras usuales por los spamers de miercoles de ceniza!. ahi me avisan porfas!. para ponerlo en la lista., y la verdad si funciona!, ya habia probado el captcha pero no se como le hacen para colarse!, (o a la mera esta mal programado el captcha jeje) y eso que tengo 1 semana con el filtro y cero cero mensajes indeseados.
Pues con eso de que me la he pasado programe y programe (se nota debido a la falta de mensajes en el blog) en Jaws ha llegado el momento de utilizar un buscador en donde nos suguiera las coincidencias todo mediante Ajax!..., asì que me di a la tarea de buscar algo de eso!..., bueno en realidad ya habia probado uno pero me gustaria uno que tuviera un scroll para cuando sean muchos resultados y que a su vez al picarle un click fuera desaparecieran los resultados..., asi que todavia estoy en esas!...,
Bueno, el motivo tambien de este mensaje es compartirles esta wiki referente a Ajax! (AjaxPatterns.org)..., y aunque esta en ingles se me hace muy completo ya que explican muchas cosas y vienen muchoooos ejemplos, desde como crear un suggest, herramientas para manipular Ajax o hasta los diferentes Frameworks tanto de lenguajes de programaciòn como de efectos..,
La verdad si estan metidos en este rollo de Ajax, o quieren saber un poquitin más, les recomiendo el wiki de Ajax.
Tenia un problema con la página del pediatra debido a que el componente AkoComment (com_akocomment) del Mambo (Joomla) me lanzaba el siguiente mensaje:
Not Acceptable
An appropriate representation of the requested resource /administrator/index2.php could not be found on this server.
Todo esto con apache 1.3.34, la verdad casi me vuelvo loco ya que de la noche a la mañana empezo a fallar sin ninguna explicación (ahora entiendo que a la mera le movieron algo de la configuración del apache) ya casi casi me hiba a poner a destripar el componente para encontrar la falla, la cual es parcialmente ajena al mismo...,
Para solucionar el problema hay que agregar la siguiente linea de codigo en el .htaccess
<ifmodule>
SecFilterEngine Off
# Esto no es tan necesario pero por si las moscas
SecFilterScanPOST Off
</ifmodule>
Despues de esto!..., listo!.., asunto arreglado del 406 Not Acceptable y todo a la normalidad.
Lo prometido es deuda, así que les voy a explicar como instalar el hack para Jaws 0.6 r2 y r3 (no se si funcione en algua versión anterior a la revisión 2), así que ahi les va........
Con eso que esta de moda utilizar Ajax (que por cierto es muy util), ahora tenemos un buscador en vivo, osea que mientras escribes te dice algunos resultados en la enciclopedia màs grande del mundo, la famosisisima Wikipedia
La mentada dirección es http://wiki.lumrix.net/es/, con esto podemos ver la gran variedad de aplicaciones que se pueden hacer con Ajax.
Por cierto pongan la palabra Linux y veran que existe un detergente jejeje, que curioso
Ya tengo la forma de generar el archivo PDF desde la salida de Jaws, pero tengo un pequeñin problema con las tablas!.. jeje. (siempre son complicadas las tablas) ya tengo la funcion para generar tablas en un PDF (al menos la manera sencilla) pero me falta una funcion que parsie la tabla y me la ponga en un arreglo o algo mas sencillo de manipular, estaba viendo el JawsXSS porque me imagino que hace algo asi!.., puede tomar bloques de codigo y eliminarlos, solo que no entiendo ni p.. el codigo de HTMLSax3 que es la funcion para el JawsXSS asi que por el momento dedicare mis esfuerzos a terminar lo que tengo q terminar jeje.. sino ahi me la llevo
Sigo pensando que la manera mas facil es utilizar HTMLDoc, pero lo malo que para windows uno tiene que $$$$ (y ahorita no quiero pagar)...
Estoy trabajando en la creacion dinamica de PDF's, y como he estado utilizando Jaws para mis aplicaciones una vez terminado el convertidor de PDF podre pasarlo a la comunidad de Jaws a ver si lo agregan en alguna versión
Podria utilizar HTMLDoc lo cual me ahorraria muchisimo trabajo, pero lo malo es que solo trabaja sobre ambientes *Nix y yo quiero que sea casi casi "Multiplataforma" ahi luego les cuento que tal me fue con el experimiento.
Estaba haciendo pruebas con Ajax (no el que viene en la versión 0.6.0) y pues nomas en el chafa Explorer no jalaba al obtener el archivo XML, siempre me ponia un cuadrito
Despues de buscar y buscar encontre con un caracter raro y al buscarlo de mil formas, porque algunos editores no me lo mostraban me encontre con esto:
Lo ven???, es el primerito que sale!.., creo que salio al andar cambiando del encoding del ISO-8859-1 a UTF-8, ahora si puedo ver correctamente el archivo XML mediante Ajax , solo me falta recorrer el XML con el Exploder que no se quiere dejar!!!.
Moraleja: Usa Firefox!!!, no falla y el mas pequeño detalle puede ser un dolor de cabeza! empieza por lo mas simple
La verdad se los recomiendo y por cierto he estado tratando de enteder sobre Ajax en Jaws 0.6.0 pero la verdad q nada de nada!...., cuando cargo el gadget de ChatBox y le doy en Showmore por ejemplo me aparece este hermoso mensaje:
[Server_Error] Only variables should be assigned by reference
Despues de probar varios editores para programar en PHP ya habia visto que JEdit es bueno!..., pero despues me entere de SciTe el cual tambien es bueno!.. y rapido, pero le hace falta lo siguiente que JEdit si tiene:
Guardado automatico de la sesión, osea que al abrir el editor nos abra los documentos en los que nos quemados, y si tiene esta opcion pero hay que abrir un archivo!, y pues que flojera jeje, mejor automagico como JEdit
Mayor cantidad de plugins (extensiones), con JEdit tenemos extensiones a morir!, para CSS, FTP, leer mail, PHPSyntaxis, Java (aunque no lo uso), Corrector de ortografia, etc, etc...
Divisiones de las ventanas, osea tener 2 ventanas para poder comparar textos o copiar y pegar mas rapido, muy util!!
Icono mas atractivo! jeje, bueno!! me gusta mas el iconito del JEdit, sino chequen la comparación.
JEdit
SciTE
Velocidad al cargar varios documentos, al menos en Ubuntu el SciTE se me arrana algo cuando abro varios documentos la mismo tiempo, aunque en Windows y Debian no me sucede eso.
En fin!.., espero que JEdit no me defraude!! jeje... asi que si no lo conoces??, que esperas para instalarlo y probarlo, la verdad es que no te vas a arrepentir (excepto si tu compu es lenta al cargar programas de Java)
Desde hace tiempo tengo ganas de aprender Ajax, (Asynchronous JavaScript And XML) y en la conferencia de Ion en el FSL se hablo que Jaws va a tener Ajax (Perfectooo), he encontrado algunas ligas interesantes para empezar a leer.
Cada uno tiene sus ventajas y desventajas!, y de los que mas me han gustado y he utilizado mas frecuentemente estaria Quanta y JEdit, pero porque me quedo con JEdit???, me permite mantener dos o mas ventanas de division, puedo buscar en todos los archivos abiertos o en determinada carpeta, me ayuda con los corchetes, etc.... aunque no me quejo de Quanta!, trabaja muy bien (ayuda con la sintaxis y nos muestra una ayuda de posibles cosas que poner).
Ademas JEdit es multiplafarma! (puedo ejecutarlo en Linux, Windows y MacOS), gracias a Java!, ademas permite el uso de plugins cosa que es muy interesante!
En el ambito de Windows!, no hay nada mejor que Dreamweaver, la verdad que los de Macromedia se volaron la barda!.., yo ando esperando algo similar a Dreamweaver en Linux!, pero mientras llega me quedo con JEdit hasta nuevo aviso!. (igual y ya no me gusta el Dreamweaver despues de un tiempo)
Hoy le estaba explicando como funciona Jaws a mi novia y me doy cuenta que no es facil entenderle (yo dure como 2 semanas para entenderle mas o menos), asi que tratare de leer el wiki y de ahi basarme.
Aunque eso si!, una vez que le entiendes es una chingoneria! me encanta eso de las clases (la neta siempre quise programar con clase y clases y no en clases...)
Me gustaria colaborar con el proyecto pero bueno!!, no se usar lo del CVS ni esos rollos por eso nomas no me animo pero algun dia! algun dia!...
Por lo pronto mañana le pondre un ejemplo sencillo para de ahi poder explicar despues todo el funcionamiento.
P.D., Si preguntan por Gentoo ya quedo!., nomas me faltan compilar todos los programas que voy a utilizar!... (nomas!.... jeje)
Efectivamente, despues de actualizar el apache, php y mysql de stable a testing, algunas cosas no funcionaban como antes..., entre ellas las sesiones en la pagina del gulcol y mas especificamente el modulo del administrador de mambo, esto es lo que me arrojaba la salida:
Fatal error* session_start(): Failed to initialize storage module: user (path: /tmp) in /home/www/gulcol.org/www/administrator/index.php on line 69**
Despues de investigar donde estaba el error, encontre que hay que agregarle al .htaccess del Mambo lo siguiente php_value session.save_handler files, en realidad ya viene esa linea solo que en lugar de que diga files, dice user (supongo que por eso dice el error user(path...).
Asi que ya saben!, si les sucede algo similar donde de plano no muestra nada!, cambien esa variable!
Suscribete al servicio sindicalizado de Oviedos.com.mx
Conversación
oviedo: Hola Sergio, nomas me doy un tiempo ya que he estado super ocupado estos dias con el trabajo y completo el manualito de deny host!.
Saludos!.
sergio morales: oye brother podrias terminar el tuto de deny host es muy interesante por ahi hay un error el cual
para nada serviria el deny host ya que blokearia el acces ssh
Saludos
oviedo: Si ya ves ese Javascript con el IE no se llevan bien!! por cierto! si pones codigo Javascript para ver las contraseñas pues mas errores! jaja..., ni pex!! el Jaws bloqueo el codigo
erufenix: Por aquí pasando a saludar orales no pus muchos errores con javascript
xiam: Que tal, te dejé un comentario pero no salió ni dió mensaje de error, en donde me puedo comunicar contigo?
jesux: Saludos Olviedos, disculpa una pregunta. Como pones esos pedazos de cóigo en tus post ??
oviedo: Ruth me temo decirte que no tengo ninguna licencia de SCO , porque mejor no te cambias a Linux o algun BSD??, asi no te preocupas por licencias.
Saludos
Ruth: Hola, oye por favor, me urge una licencia del sco 5.0.7 por favor pasame la que tienes si? si? si? me super urge por favor!!!!
Vael: Donde puedo descargar tu tema de jaws. También busco otros que no sean los que vienen en la instalación. Gracias.
erufenix: Orales pues por aquí pasando a saludar, tenia un buen que no daba vuelta por estos lares, desde que dejo de funcar planet jaws
FreeDownloas: Gracias por ciertas ayudas. Es un gusto ke la gente comparta conocimiento alrededor del mundo! Acabo de hacer funcionar algunos USB gadgets en VirtualBox
pepe oviedo: Hola a todos! nuevamente funciona este mini chat!...,
Saludos desde Colima