Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Diabliyo

#46
PHP / [JSON] Recibir datos ? (solved)
6 Octubre 2012, 16:53 PM
Buenas...

Estoy haciendo una peque~a API y del lado del cliente envio los datos hacia el server así:


Host: miweb.com
POST /api/
Content-Type: application/json
{"dato":"123456"}


Y del lado del Server no se como recibir los datos :(.... ni idea :S !...

Ahorita a como lo estoy resolviendo, es enviar del lado del cliente los datos en forma de datos de formulario, y enviar el dato JSONeado en una variable post, asi:

Host: miweb.com
POST /api/
Content-Type: application/x-www-form-urlencoded;
info={"dato":"123456"}


Del lado del server los datos los recibo en $_POST["info"].

Como puedo hacerlo directo ?, recibir el puro JSON ?

Saludos !
#47
Buenas.

Tengo un sitio en donde quiero tratar los datos de la URL de forma muy especifica, les cuento:

http://miweb.com/servicios/
Quiero que practicamente me pase la palabra "servicios" a una variablGET para consultar mis secciones con el nombre de "servicios".

http://miweb.com/opcion (no uso slash ' / ' al final).
Quiero tratar la palabra "opcion" de otra forma..

Las reglas que puse son:

RewriteRule ^(.+)/$ index.php?id=$1 [L]
RewriteRule ^(.+)[^/]$ index.php?id=ref&data=$1


Asi tal cual, tengo que comentar la segunda linea, porque al escribir en mi url "http://miweb.com/servicios/", intenta pasar "servicios" asi:

index.php?id=ref&data=servicios

Al comentar la segunda linea, la web funciona casi bien, ya que al escribir "miweb.com/servicios/", me manda:

index.phpid=servicios.

Pero si escribo: miweb.com/opcion

Me sale not found :S

Alguna idea ?
#48
Buenas...

Quiero construir una expresión regular para leer esto: 10:30, que sera una expresión de tiempo (hora:minutos). Asumiendo que pueden existir dos variantes:

Forma 1-> 10:40
Forma 2-> 8:10

En la Forma 1 son dos valores antes del delimitado ":" y dos valores después.
En la Forma 2 es un solo valor antes del delimitado ":" y dos valores después.

Me hice un codigo pero no logro dar con el correcto para mi programa:

Código (php) [Seleccionar]

<?php
$hora1
'10:20'# hora correcta
$hora2'8:30'# hora correcta
$hora3'150:20'# hora incorrecta
$hora4'ab:20'# hora incorrecta

$patron'/[0-9]{2}\:[0-9]{2}/is';
preg_match$patron$hora1$r);

print_r($r);
?>


El resultado que me da es:
Array ( [0] => 10:20 )

Se supone deberia crear un array con los dos valores encontrados y analizados, pero no sucede...

Cual seria la forma correcta ?
#49
Buenas.

Monte un streaming de radio, el servidor esta en linea (no tengo acceso fisico), ya instale Icecast y Darkice.

Ya comprobe que se levanta icecast, si me conecto con mi "VirtualDJ" o "Internet DJ console", puedo transmitir y los usuarios me pueden esuchar sin problemas.

Mi objetivo es reproducir la música localmente y que Darkice pase el audio al Iceast (todo en el mismo server).

Instale Darkice y lo levante, tambien compruebo que en icecast me muestra el nombre de la radio montado automáticamente por darkice.

El detalle ahora, es que quiero que la musica que reproduzo en el servidor, sea pasado al streaming para que los que se conectan a mi radio, escuchen la musica. El reprodutor que uso, es por consola "mpg123" y la forma de poner las canciones, es mediante un script que hice.

Ya estuve poniendo la musia, pero no se escucha, vaya... me conecto al streaming: http://miservidorip.com:8000/miradio, y solo tengo ausencia de sonido, corroboro en http://miservidorip.com:8000/, y veo que la radio esta levantada (veo la descripcion), pero no aparece el nombre de la cancion que puse con mpg123.

Espero por favor me puedan ayudar, dejo informacion Darkice:

shell# cat /etc/darkice.conf
# this section describes general aspects of the live streaming session
[general]
duration        = 0         # duration of encoding, in seconds. 0 means forever
bufferSecs      = 5         # size of internal slip buffer, in seconds
reconnect       = yes       # reconnect to the server(s) if disconnected

# this section describes the audio input that will be streamed
[input]
device         = /dev/dsp
#device         = pulse
#device          = plughw:0,0 # alsa
#device          = default   # Default device for the audio input
sampleRate      = 44100     # sample rate in Hz. try 11025, 22050 or 44100
bitsPerSample   = 16        # bits per sample. try 16
channel         = 2         # channels. 1 = mono, 2 = stereo

[icecast2-0]
bitrateMode     = abr       # bit rate: abr (average), cbr (constant), vbr (variable)
#quality        = 0.7       # quality for vbr: 1.0 the highest
format          = mp3       # format of the stream: mp3, vorbis (ogg), aac, aacp
bitrate         = 16        # bitrate of the stream sent to the server (<= 64 for aacp)
server          = x.x.x.x # host name of the server
port            = 8000      # port of the IceCast2 server, usually 8000
password        = miradiopass    # source password to the IceCast2 server
mountPoint = miradio    # mount point of this stream on the IceCast2 server
name            = Mi Radio
description     = mi radio 123
url             = http://www.miradio.com # URL related to the stream
genre           = Radio      # genre of the stream
public          = yes       # advertise this stream?


El audio del servidor es integrado a la placa base, esta instalado el driver y segun los de soporte tecnico, no presenta problemas y se escucha.

Saludos !
#50
GNU/Linux / Reproducir Lista de Musica desde consola ?
16 Septiembre 2012, 04:29 AM
Buenas.

Quiero reproducir música desde la consola utilizando una lista de reproducción la cual quiero ir variando a mi gusto y que el reproductor no pierda las actualizaciones que le hago a la lista. Se pude ? como ?

La idea es tener una lista inicial, por ejemplo:
shell# cat milista.pls
NumberOfEntries=2
File1=/ruta/a/la/cancion.mp3
File2=/ruta/a/otra/cancion.mp3


Hasta este punto el reproductor solo reproducira esas dos, pero quiero en cierto momento ir agregandole mas rutas y no tener que volver a cargar la lista.

Saludos !
#51
Buenas...

Alguien que conozca una lista de terminos que permitan identificar el tipo de vulnerabilidad ?...

Por ejemplo: encontre una vulnerabilidad en un software o web, que me permite Registrar cuentas de usuario volandome la "verificacion" del correo o asi... como se llamaria esta vulnerabilidad ? como la podria "canonisar" ?

Creo que existen ciertos terminos, pero la verdad por mas que busco no encuentro sobre esto, sino solamente textos que hablan desde el punto de vista de Bof (Buffer Overflow), XSS, CSRF, RFI, LFI, etc....

Saludos !
#52
PHP / [API] Facebook en linea de comando !?
19 Marzo 2012, 14:42 PM
Buenas.

Tengo una app que desde mi portal web puedo sincronizar e interactuar con ella, vaya, publicar tanto en el perfil de los usuarios y tambien publicar en los perfiles como si fuese el mismo usuario (usando la token).

El detalle es que quiero hacer unas tareas diarias en "Mis Grupos" de Facebook (usando mi propio perfil), el detalle es que estas tareas son ejecutadas por CRON, invocando mi archivo PHP que tiene toda la logica.

Hice primero pruebas desde la web y todo va bien, los mensajes se publican, pero a la hora de hacer la invocacion con cron es cuando falla, ya que al hacerse la llamada del API Facebook() esta crea una sesion y obviamente desde linea de comando no existe la sesion, vaya no puedeo crearse.

La ejecucion de cron va asi:

php cron.php usuario clave opcion

Y el error que me da es:
PHP Warning:  session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/html/cron.php:3) in /var/www/html/cron/libfacebook.php on line 37
PHP Warning:  session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/html/cron.php:3) in /var/www/html/cron/libfacebook.php on line 37
PHP Fatal error:  Uncaught OAuthException: (#200) The user hasn't authorized the application to perform this action
  thrown in /var/www/html/cron/base_facebook.php on line 993


Desmenuzando los errores saco mis conclusiones:

PHP Warning:  session_start().... este error lo da porque desde linea de comando no se puede usar sessiones, ni la funcion session_start(). Solo puedes crear variables (como cualquier programa en C..... eso creo yo).

PHP Fatal error:  Uncaught OAuthException:.... al no existir la session, pues el API no puede continuar.

El detalle tambien es que vi que la APP puede configurarse para uso "Web" o "Desktop/Native", nose que ventajas o desventajas me traiga, pero lo he dejado en "Web", ya que mis usuarios se sincronizan por via "Web" y estas tareas que quiero hacer son punto y aparte, pero aun asi, uso la misma APP (asi lo requiero).

Saludos !
#53
Buenas.

Tengo un servidor el cual realiza ciertas tareas y hasta ahorita todo marcha bien... El detalle es que estoy por implementar una nueva actividad, por lo cual requiero que mi servidor ejecute algo durante 12 horas, pero no es una ejecucion constante del archivo (que este procesando), sino que de esas 12 horas, va a ejecutarse digamos 1 minutos y va a dormir 11 minutos, despues ejecuta otra vez 1 minutos y dormir 11 minutos, al completarse 6 horas (la mitad) dormira por 30 minutos (1 hora), y se volve a ejecutar una tarea de 1 minutos y dormir 11 minutos, etc, etc.... finalizara a las 12 horas de ejecucion.

Tengo el codigo en dos lenguajes, en PHP y en C, en ambos para dormir uso "sleep()", el detalle es que, nose si esto vaya a afectar a mi servidor, ya que este mismo server me sirve de DNS y HTTP.... ya que no tengo un segundo server que haga esta tarea.

Ya sea el code en PHP o C, estos se piensan invocar automaticamente a la misma hora usando CRON y el modo de ejecucion a realizar es:

# usando el code PHP
shell# php /root/public_html/tareas.php usuario clave mi_tarea

# o bien usando el code en C
shell# /root/public_html/mitarea -u usuario -p clave -d mi_tarea


Actualmente mi server atiende aproximadamente 2,500 visitas mensuales.

Ustedes que opinan ?

NOTA: ya se como hacerlo, solo quiero su recomendacion si el proceso se ejecuta tanto tiempo, consumira mi server ?

Saludos !
#54
Buenas...

Estoy haciendo mi propia libreria Twitter, pero tengo problemas para generar el primer paso :(, que es la obtencion de la "request_token", este paso se supone que se le envia cierta informacion a los servidores del api.twitter.com y si esta bien formada la informacion, el server debe contestar con los valores: oauth_token, oauth_token_secret y oauth_callback_confirmed.

Estoy haciendo los pasos (segun yo bien) segun como dice el manual de "Implementing Sign in with Twitter" (https://dev.twitter.com/docs/auth/implementing-sign-twitter).

Sobre mi code, he generado una libreria que llame "sockets_io.php" donde tengo la funcion que conecta el socket y permite enviar datos por flujo POST y/o GET, usando "sockets" o "curl".

Y un segundo codigo que es "twitter.php" donde estan las funciones principales para facilitar todo el proceso, desde conexion, publicacion de contenido, etc....

Los codigos son:

socket_io v2.1 - http://pastebin.com/UGx85w3T
twitter v2.0 - http://pastebin.com/xLHk29dy

El codigo que uso para probar es:

Código (php) [Seleccionar]
<?php
# incluir librerias de arriba 

$rtwitter_request_token'socket' );

echo 
'<h1>Resultado</h1><p>';
print_r($r);
echo 
'</p>';
?>


El error que obtengo es: http://pastebin.com/8jANcZ4s.

Alguien que me pueda ayudar ?.....
Chequen el enlace de el error que obtengo, hay veran la Base String, la Trama que sale y el Resultado (respuesta del server twitter).
#55
Buen dia.

Alguien que me recomiende una libreria para convertir valores numericos a letras ?, necesi que mi sistema pueda interpretar un valor a letras, estos valores son cifras numericas tomadas como montos economicos (dinero).

Estuve utilizando una libreria, pero sinceramente falla mucho cuando existen 3 Ceros seguidos, por ejemplo: 8,000.50.

Saludos !
#56
Buenas...

Tengo una lap con chipset inalámbrico Realtek, carga el modulo r8192ce_pci, es reconocida como wlan0:

# lspci -vv
Network controller: Realtek Semiconductor Co., Ltd. Device 8176 (rev 01)
Subsystem: Hewlett-Packard Company Device 1629
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 17
Region 0: I/O ports at 3000 [size=256]
Region 2: Memory at f0200000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [50] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
Address: 0000000000000000  Data: 0000
Capabilities: [70] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr+ UncorrErr- FatalErr- UnsuppReq+ AuxPwr+ TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us
ClockPM+ Suprise- LLActRep- BwNot-
LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Capabilities: [100] Advanced Error Reporting <?>
Capabilities: [140] Virtual Channel <?>
Capabilities: [160] Device Serial Number xx-xx-xx-xx-xx-xx-xx-xx
Kernel driver in use: rtl8192CE
Kernel modules: r8192ce_pci


Cuando pongo la inalámbrica en modo Monior, ya sea manualmente o con airmon-ng start wlan0 y despues invocar la captura con airodump-ng simplemente no consigo Paquetes #DATA, ademas tras ejecutar algun ataque con aireplay-ng (con -3 -1) no me inyecta los paquetes :(.

Y ya comprobé que no sea problema de que los APs se esten protegiendo o no respondan, porque si conecto una USB Wireless con chipset atheros, rápidamente puedo ver como la inyección en repetición arp's (ataque -3), empieza a generar paquetes inyectados y los #DATA incrementan rápidamente.

Otro detalle es que el airmon-ng no me crea la interface mon0.

Saludos !

#57
Buenas...

Es posible crar una sección tipo BLOG (postings) donde dicha sección no sea visible en el Blog para cualquiera, pero que si el usuario supiede el nombre de la sección puediese leerlo !!???

Ejemplo: miblog.com/seccionoculta/

La idea es que quiero montar en mi blog una sección oculta a la vista, pero disponible si escribes la URL directa, el punto es meter contenido en esta sección y en OTRO dominio que tengo, quiero jalar del XML los posts y ponerlos en ese otro dominio.

Asi no entro a ambos blogs a publicar, lo manejo todo de uno !

Saludos !
#58
Buen dia.

Tengo una galeria de imagenes que se genera automaticamente apartir de un conjunto de imagenes, en este "thumbnail" aparece la foto principal (en grande) con dos flechas (izquierda y derecha) que permite girar la galeria. Tambien se presenta por debajo de la imagen principal (imagen grande), un conjunto de imagenes mini (todas), que igualmente si pasas el raton por encima, la imagen mini se pone como imagen principal.

Mi punto es que, quiero que en vez de estar pulsando la flechita para ir girando la galeria, que esta gire sola (automaticamente).

Este es mi code: http://pastebin.com/JjUEwMAj

Saludos !
#59
Buen dia.

Traigo entre manos la duda de: Que es mas optimo ?: realizar una conexion a mysql por cada consulta o bien realizar una unica conexion y guardarla en sesion y utilizarla todo el tiempo ?

Cuando menciono de realizar una conexion a mysql por cada consultar me refiero a tener una funcion mas o menos asi:

function consultar($query)
          {
          $link= conectar_mysql();
          $consulta= mysql_query($query);
          mysql_close($link);
          return $consulta;
          }


O bien tener una unica conexion a la base de datos en sesion, algo asi:

if( !$_SESSION["dblink"] )
          $_SESSION["dblink"]= conectar_mysql();


Cual es mas optima ?, porque estoy empezando a recibir muchas visitas en mi sitio y esto me esta matando :(

Saludos !
#60
PHP / [jQuery] leer el dato de un DIV ?
6 Febrero 2012, 18:05 PM
Buenas...

Es posible leer el valor CLASS o ID escrito en un <DIV> ??...
El punto es que con jQuery estoy haciendo un roll-over de imagenes, de forma que se muestra ima imagen grande (como imagen principal) e imagenes chicas por debajo de la imagen grande y una flecha de cada lado para ir rotando la imagen.

HAsta ahorita el proceso de imprimir la imagen principal y las imagenes chicas ya lo tengo echo con PHP, y agregando un HOVER sobre las imagenes chicas y conjugando jquery+php puedo hacer que la imagen principal grande cambie.

El problema es las flechitas, no se como puedo cambiarlas, ya que se supone que la FLECHA le asigno un CLASS el cual (en jquery) verifico el evento CLICK, si hizo clic, entonces el CLASS me indica la proxima IMAGEN a mostrar en la principal (imagen grande). PEro no encuentro como removerle esa class y asignarle una nueva que seria el "nombre_". ($i+1).

Estuve tratando con removeClass() y addClass, pero al hacer removeClass pues como su nombre indica "remuevo la clas" y ya no puedo escribirle la nueva clase :S....

Quieren ver el ejemplo ?, entren al sitio buyinmejico.com

Saludos !
#61
Buen dia.

Estoy intentand acortar URLs con mi codigo PHP usando el servicio de goo.gl, pero no me retorna la url acortada :(. Esto es lo que hago:

Código (php) [Seleccionar]
<?php
$url'http://miurl.com/bien/largaaaaaaaaa.html'# url larga 
$api_key='123456789asdasdsadasdasdasd'# mi api
$host'www.googleapis.com'# servidor
$port'443'# puerto ssl
$path'/urlshortener/v1/url?'# path donde se hara el request POST
$buf= array( "longUrl"=>urlencode($url) ); # array para pasar a json
$data= array( 'POST'$path.$api_keyjson_encode($buf) ); # pasando a json

$r='';

$http_request  "$data[0] $data[1] HTTP/1.0\r\n";
$http_request .= "Host: $host\r\n";
$http_request .= "Content-Type: application/json;\r\n";
$http_request .= "\r\n";
$http_request .= $data[2];

if( ($fs = @fsockopen($host$port$errno$errstr10))==FALSE )
echo 'No se puede abrir socket :: ['$errno'] '$errstr;
else
{
fwrite($fs$http_request);

while ( !feof($fs) )
$r .= fgets($fs1160); // One TCP-IP packet
fclose($fs);
$rexplode("\r\n\r\n"$r2);

# exito
print_r($r);
}
?>


Y retorna:

Array ( [0] =>
#62
Buenas.

Tengo asterisk en mi red funcionando muy bien, puedo hacer llamadas con los teléfonos de software, en este caso Ekiga, pero me gustaría saber si es posible sacar una llamada mediante la linea telefónica conectada al modem usando Asterisk, y del mismo modo poder recepcionar una llamada con asterisk proveniente de la linea telefónica ?

Saludos !
#63
Buen dia.

Es extra~o, pero, tengo dos maquinas HP nuevesitas, las formatie e instale Windows 7 Professional, NOD32 y Office 2007. Y tengo una computadora con un chorro de archivos compartidos, unos de ellos son Hojas de Excel que tienen CLAVE DE APERTURA.

Bueno.... Las 2 HPs las conecto a la red y digamos: la HP_01 puede ver los compartidos y abrir las hojas de excel que estan con Password de Apertura. Pero la HP_02 al momento de ponerle el Password a la Hoja de Excel, me tira un mensaje que dice "El archivo parece da~ado". Y es ilogico, porque con la HP_01 si puedo abrirlo.

La HP_02 que es la que no puede abrirlo, noto que solo tira el error de "El archivo parece da~ado" con las hojas de excel protegidas con password de apertura.

Buscando una solucion hice esto en la HP_02:

- Desintale e instale Office 2007.
- Reconfigure NOD32 para no tenen problemas con compartidos.
- Di permisos de lectura y escritura en Mi Servidor donde tengo los compartidos.
- Corrige unas Herramientas de Office para checar el mismo Office (me dijo que todo estaba bien).
- Abri Excel, me fui a: "Archivo --> Abrir y repara", seleccione la hoja de excel del compartidos, y el mismo error.
- Copie la hoja de Excel del compartido hacia mi Escritorio de la HP_02, reintente todos los pasos, y el mismo error.

Pero la HP_02 sigue sin poder abrirlos..... y solo los formatos de office que tienen proteccion de clave de apertura.

Que puede ser ?

Saludos !
#64
PHP / [mod_rewrite] una variable GET se pierde :S !
15 Noviembre 2011, 02:28 AM
Buenas.

Pues uso mod_rewrite para evitar formar las URLs complicadas (index.php?algo=valor) y pues se hace mas amigable (sitio.com/dato). No me metere en explicarlo ya que asumo que saben que es.

Mi problema se basa en que una variable que estoy pasando no me la manda, vaya estas son las reglas que tengo:

Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteEngine on
# raiz
RewriteBase /
# ver noticia
RewriteRule ^hoja/(.+)\-(.+)\.html$ index.php?hoja=$1
# login - conectar
RewriteRule ^log/in$ index.php?log=entrar
# logout - desconectar
RewriteRule ^log/out$ index.php?log=salir
# log - error
RewriteRule ^log/error$ index.php?log=error
# log dos - detecto intento de bruteforcing
RewriteRule ^log/dos_prev$ index.php?log=brute

# ver contenido de un menu
RewriteRule ^(.+)/$ index.php?ver=$1
# ver contenido de una sección
RewriteRule ^(.+)/(.+)/$ index.php?ver=$1&sec=$2


La ultimoa regla RewriteRule ^(.+)/(.+)/$ index.php?ver=$1&sec=$2 es la de ver contenido de una sección, en si, la variable ver no le pasa :(...

De esta forma armo el link:

<a href="misitio.com/auto/ford/">sección</a>

Haciendo un print_r($_GET), al dar clic sobre la sección, veo esto:

Array ( [ver] => index.php [sec] => ford )

Se supone que en la variable $_GET["ver"] debe estar el valor de auto. Pero mete el valor index.php.

Alguna idea ?, ya ando cansado y frustrado, mi mente no da mas :D, he pasado todo el dia viendo el htaccess, el codigo y no encuentro problema :S....

Saludos !
#65
Scripting / [GIT] Logearse desde script ?
10 Noviembre 2011, 21:07 PM
Tengo un repo en GIT ya funcionando y todo, pero debido a que no tengo ya tiempo de estar tipeando en consola hacerle push de mis actualizaciones, me estoy intentando hacer un script para que lo ejecute cron cada ma~ana antes de llegar al trabajo, pero me topo con el problema que no logro meter el password :(....

Este es mi script:

cd /home/user/mi_proyecto/
git push miusuario@localhost:/mnt/respaldos/git/mi_proyecto master


Pero como han de saber, si ejecuto el segundo comando (de los que puse arriba), me pide password para autentificar y después hacer push... Y obviamente, si CRON ejecuta el script no puede meter el password, por lo cual, JAMAS se actualiza el repo...

Alguna idea ?

Saludos !
#66
Buen dia.

Tengo un portal en internet que los ultimos 4 o 6 meses he estado notando accesos redirigidos a mi sitio por parte de sitios web Rusos :S... Quiero descartar un ataque, ya que estos accesos son meramente re-direcciones.

Para guardar "quien entra y de donde" guardo en mis logs el REFERE, REQUEST_URI, IP, NAVEGADOR y HOSTNAME. Y reconozco los accesos que vienen de face, twitter, busquedas de google, etc... he notado visitas de estos sitios Rusos que en algunos casos el IP es el mismo pero cambia el referer, observen mencionare algunos mas recientes de los 5 ultimos dias:

# log
Referer: http://www.ukrat.ru/, IP: 92.249.127.111
Referer: http://www.zapomninas.ru/, IP: 92.249.127.111
Referer: http://www.profi71.ru/, IP: 193.106.136.36, Hostname: 193.106.136.36.usersnat.smileweb.com.ua
Referer: http://www.moregirls.org/, IP: 193.106.136.36, Hostname: 193.106.136.36.usersnat.smileweb.com.ua
Referer: http://www.moregirls.org, IP: 92.249.127.111
Referer: http://www.pincode.mobi/, IP: 193.106.136.36, Hostname: 193.106.136.36.usersnat.smileweb.com.ua
Referer: http://www.symbian-blog.com/, IP: 92.249.127.111
Referer: http://fido20.ru/ktulhu, IP: 92.249.127.111


No se si se trate de un intento de ataque DoS por parte de algun grupo que tenga vulnerado dichas paginas mencionadas en mis "Referer", o alguien que me pueda dar su opinion al respecto.

Lo que si fue un echo es que el mes de Agosto note que mi consumo de ancho de banda se vio afectado y para compensar el problema, implemente mod_deflate, expiracion de todo (gif, html, jpg, png, js, css) y compresion gzip del sitio. Evidentemente un DoS podria no causarme mucho problema a menos que fuese un ataque muuuuuy fuerte con millones de equipos a la vez.

Saludos !
#67
Buenas.

Esto queriendo hacer que mi servidor gnu/linuc centos 5 se vuelva tambien una centralita para instalar GNU/Linux a los PCs que lleguen (o deseen ponerle una distro), la idea es que sienten su equipo (lap o pc) se conecten a la red (por cable), booteen por Red (PXE Boot), elijan la distro a instalar y se instale todo en red. Sin siquiera usar una memoria usb ni cdrom.

Siguiendo varios tutoriales (muuuuy desactualizados) he logrado hacer funcionar el dnsmasq ya que la version 2.45 no acepta la notcacion tipo "funciones" que presentan muchos tutoriales, asi que haciendo cambios al archivo de configuracion basicos, quedo asi:

shell# cat /etc/dnsmasq.conf
server=192.168.1.1
interface=eth0
dhcp-range=192.168.1.2,192.168.1.200
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/home/tftp
dhcp-boot=/home/tftp/pxelinux.0,server,192.168.1.1
dhcp-lease-max=150
dhcp-authoritative
log-queries
log-dhcp
conf-dir=/etc/dnsmasq.d


Ahora apagamos el DNS y encendemos el dnsmasq:
shell# /etc/init.d/named stop
shell# /etc/init.d/dnsmasq start


Como se observa en el config del dnsmasq, mi directorio donde estaran las distros es /home/tftp/, asi que tambien me monto un NFS y comparto dicho directorio y reiniciamos deamon:

shell# cat /etc/expots
/home/distros/public_html/      192.168.1.0/255.255.255.0(rw,sync,no_subtree_check)
/home/tftp/     192.168.1.0/255.255.255.0(rw,sync,no_subtree_check)
/home/backups                   192.168.1.0/255.255.255.0(rw,sync,no_subtree_check)

shell# /etc/init.d/nfs restart


Ahora monto el pxelinux.cfg para el pxe boot, todo en /home/tftp/
shell# ls -l /home/tftp/
distro --> /home/distros/public_html/
mensaje.txt
netboot.tar.gz
pxelinux.0
pxelinux.cfg/
syslinux/


Como observan distro es un enlace simbolico hacia /home/distros/public_html/ que es donde estaran en tanto las imagenes ISO (para que bajen via http), como tambien los datos decomprimidos de las ISOs.

Veamos un directorio de ejemplo:

shell# cd /home/distros/public_html/
shell# cd ubuntu_1104_alt
shell# ls -l
so/
iso/

shell# ls -l iso/
ubuntu-1104-alternative.iso

shell# ls -l so/
drwxrwxrwx 3 root root   4096 jun  4 13:24 boot
-rwxrwxrwx 1 root root   1115 jun  4 13:24 cdromupgrade
drwxrwxrwx 3 root root   4096 jun  4 13:24 dists
drwxrwxrwx 3 root root   4096 jun  4 13:24 doc
drwxrwxrwx 3 root root   4096 jun  4 13:24 install
drwxrwxrwx 2 root root   4096 jun  4 13:24 isolinux
-rwxrwxrwx 1 root root 179133 jun  4 13:24 md5sum.txt
drwxrwxrwx 2 root root   4096 jun  4 13:24 pics
drwxrwxrwx 3 root root   4096 jun  4 13:24 pool
drwxrwxrwx 2 root root   4096 jun  4 13:25 preseed
-rwxrwxrwx 1 root root    224 jun  4 13:25 README.diskdefines
lrwxrwxrwx 1 root root      1 jun  4 13:25 ubuntu ->


Y finalmente la configuracion del pxelinux.cfg/default

shell# cd /home/tftp/
shell# cat pxelinux.cfg/default
DISPLAY mensaje.txt

LABEL 8
kernel distro/ubuntu_1104_alt/so/install/vmlinuz netboot=nfs nfsroot=192.168.1.1:/home/tftp/distros/ubuntu_1104_alt/so/
append file=distro/ubuntu_1104_alt/so/preseed/ubuntu.seed initrd=distro/ubuntu_1104_alt/so/install/initrd.gz vga=normal ramdisk_size=32768


HASTA ESTE PUNTO...

Enciendo una PC conectada a la red y mi servidor (dnsmasq) me asigna un IP, me aparece el mensaje del boot y mi menu donde elijo la distribucion, en este caso de ejemplo, elijo ubuntu_1104_alt (label 8).

Se inicia Ubuntu (presentacion), se pone pantalla de color azul con una ventanita blanca y me pide que indique la configuracion del idioma, depues configuro el teclado, y en el siguiente paso me sale una ventana de error que indica que el cd no pudo montarse :(

Alguna idea ?
#68
Buenas...

Estoy queriendo implementar en mi portal la posibilidad de que mis futuros usuarios y actuales, sincronicen su perfil de face.

Buscando en la red encontre bastantes manuales pero desgraciadamente la mayoria estan planificados bajo una version obsoleta del API Facebook, por lo cual hasta los nombres de las funcionas ya no son igales, en conclusion, no sirve ningun manual (casi ninguno).

Asi que lo unico que me quedo, fue leerme el Doc de Authentificacion y el example.php de la libreria facebook para PHP. Con esto he logrado hacer hasta ahorita solamente:

1- Generar enlace valido para el boton facebook que enlace a mi APP.
2- Mostrar mi APP y esperar que el usuario de click en "Allow"

El problema empieza con que una vez se da clic sobre "Allow", automaticamente Facebook re-dirige al usuario a mi sitio invocando una url con los valores de:
?state=HASH_STATE&code=HASH_BIG#

Pero resulta que por seguridad y simplicidad utilizo url amigables, de modo que el boton facebook por el momento solo lo muestro en la Configuracion del Perfil, al acceder a tu configuracion se invoca la URL: http://misitio.com/usuario/perfil.

Asumiendo la URL que les mencione, el boton de Facebook se crea mas o menos asi con el siguiente enlace:

Código (php) [Seleccionar]
<?php
echo '<a href="https://www.facebook.com/dialog/oauth?client_id=HASH_ID&amp;redirect_uri=http://misitio.com/usuario/perfil&state=HASH_ESTADO">
     <img src="botonfb.jpg" border="0">
</a>
?>


Al dar click sobre el boton de Facebook Connect, me envia a Facebook con mi APP cargada, y al pulsar Allow, me retorna a mi sitio a esta URL:
http://misitio.com/usuario/perfil?state=HASH_STATE&code=HASH_CODE#

De primeras asumo que al estar asi mi RewriteRule:

RewriteRule ^(.+)/perfil$ index.php?my=$1

Las variables GET de state y code se pierden !, asi que AGREGUE lo siguiente cambio:
RewriteRule ^(.+)/perfil$ index.php?my=$1
RewriteRule ^(.+)/perfil?state(.+)&code=(.+)$ index.php?my=$1&state=$2&code=$3


Pero aun asi,  algo sale mal porque me sale error de que no encuentra la pagina, no se si sea mi implementacion de RewriteRule, pero ya hasta agregue un \ antes de los caracteres: ? y =. Y lo mismo :(...

Solo quiero tomar las variables state y code, para guardar en la BDD e inmediatamente (al detectar dichas variables) redireccionar al perfil normal: http://misitio.com/usuario/perfil y cuando mi sistema nota que ya esta el ID de Face en la BDD, se supone que muestro la FOTO del perfil y el boton de Des-sincronizar Plataforma.

Saludos !
#69
Buenas.

Quiero implementar la opcion de servir contenido comprimido para ahorrar ancho de banda y alijerar el peso de mi sitio, lo primero la idea es que los scripts JS y estilo CSS se sirvan comprimidos y se puedan interpretar.

Me refiero a algo asi:

# css
<link rel="stylesheet" type="text/css" href="http://misitio.com/estilos/style.css.gz">

# javascript
<script type="text/javascript" src="http://misitio.com/js/script.js.gz"></script>


Hasta este punto he implementado algunas cosas pero mi servidor no consigue interpretar los *.gz, vaya, es como si no interpretara el style CSS y el sitio se ve todo mal.

Lo que he implementado es:

Habilitar mod_deflate.so - Por defecto esta instalado.
OJO, en Apache menor a 2.0 se usaba mod_gzip.so, ahora en 2.0 para arriba es mod_deflate.so
shell# cd /etc/httpd/modules/
shell# ls -l
...
..
mod_deflate.so


Configurando mod_deflate.so
shell# cd /etc/httpd/conf.d/
shell# nano deflate.conf
AddOutputFilterByType DEFLATE text/html text/plain text/css application/x-javascript


Habilitando interpretacion de *.gz en httpd.conf [Ver httpd.conf completo]
shell# nano /etc/httpd/conf/httpd.conf
ForceLanguagePriority Prefer Fallback
AddDefaultCharset UTF-8
AddType application/x-tar .tgz
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml


Configurar php.ini para habilitar zlib compression
shell# cat /etc/php.ini | grep zlib
zlib.output_compression = On


Reiniciar apache
shell# /etc/init.d/httpd restart

Subo los estilo.css.gz, script.js.gz, los invoco tal cual en el HTML, y al refrescar el sitio sale sin los estilos. en pocas palabras, no se interpreta.

Les dejo la trama recepcionada para que verifiquen que el Header de Encoding esta en gzip. Sigo sin entender proque no funciona :(.

GET a turundus.net
Date Wed, 10 Aug 2011 02:54:00 GMT
Server Apache/2.2.3 (CentOS)
X-Powered-By PHP/5.1.6
Set-Cookie PHPSESSID=klsdjklfjsmi_session_msdisidmf; path=/
Expires Thu, 11 Aug 2011 02:54:00 GMT
Cache-Control public, max-age=3600
Pragma no-cache
Last-Modified Wed, 10 Aug 2011 02:54:00 GMT
Vary Accept-Encoding
Content-Encoding gzip
Content-Length 2959
Connection close
Content-Type text/html; charset=UTF-8
#70
Buenas.

He bajado el icono de una pagina al azar, he abierto dicho favicon.ico con GIMP (ya que uso GNU/Linux), he agregado mi imagen transparente, he visto que todo quedo bien y guarde los cambios....

He agregado en el codigo:

Código (html) [Seleccionar]
<html>
<head>
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
<title>titulo de mi web</title>
</head>

<body>
...
</body>
</html>


Pero noto que no se visualiza :(... pienso que tal vez sea por las mod_rewrite de Apache (urls amigables), pero la verdad no se que hacer :(...

Saludos !
#71
Buenas.

Tengo un sitio el cual le agregue un Blog, las noticias las muestro en recuadros de 241px x 250px, el modo de generacion de los "thumbs" de las noticias son, cabe mencionar que cada 3 thumbnails (recuadros) los encierro un una capa, para evitar eso de que si una noticia se pasa de Largo, no se obstruya en la demas, y que todo se vea parejito...

Les dejo un ejemplo de 3 thumbails impresos en CSS:

Código (css) [Seleccionar]

<div id="blog">

     <div id="list">
          <div id="box">
               <div class="in">
                    <h1>titulo largo de 500 caracteres</h1>
                    <p>contenido largo de 2000 caracteres</p>
               </div>
          </div>
     </div>

</div>


Se supone que en el titulo (<h1>titulo largo de 500 caracteres</h1>) de aparecer los 500 caracteres dentro de los 241px de ancho de la capa, pero NO, hagan de cuenta que se sigue imprimiendo el texto a todo lo largo y cuando llega al extremos de los 241px se queda atras.... Lo mismo sucede para el contenido :(.

Lo que quiero es que el texto no se quede atras y se siga imprimiendo, que quede dentro de los 241px todos los caracteres.

Asi es como se ve: [Ver Imagen]
#72
Estoy implementando unos JQuerys a mi sistema, ya que he manejado siempre puro AJAX, pero ahora quiero usar el potencial de este framework.

Ya estuve haciendo algunos ejemplo (como practica) y me funcionan bien...

Ahora he puesto manos a la obra en la implementacion de algunos cambios en mi sitio web, pero me topo con el inconveninete de que me tira este error:

$(".estrella") is null

Lo que estoy implementando es un sistema de votaciones (con estrellitas), he impreso las estrellas usando CSS (usando sprites), pero quiero que al momento de que se pase el raton por alguna estrella esta se torneo de color (mouseover), pero no lo puedo lograr debido al error que les menciono...

Alguien le sucede igual, alguna idea ?

Mi code:

Código (javascript) [Seleccionar]
<html>
<head>
script language="javascript" type="text/javascript" src="miweb.com/js/jquery.js"></script>
<script language="javascript" type="text/javascript" src="miweb.com/js/myjquery.js"></script>
<script language="javascript" type="text/javascript" src="miweb.com/js/script.js"></script>


<style>
.icono_votaciones {background:transparent url(../imagenes/iconos.png) no-repeat;float:left;height:16px;width:80px;
cursor:pointer;background-position:-1px -284px;}
.estrella {width:16px;height:16px;float:left;}
</style>
</head>

<body>
<!-- mucho codigo.... //-->

    <div class="icono_votaciones">
         <div class="estrella"></div>
         <div class="estrella"></div>
         <div class="estrella"></div>
         <div class="estrella"></div>
         <div class="estrella"></div>
    </div>

</body>
</html>


En myjquery.js tengo:
$(document).ready(function() {
$('.estrella').mouseover( function() {
var star= $(this).index()+1;
$(this).parent().css( "background-position", "0 -"+ (32*star) +"px" );
});
});
#73
Buen dia.

Recien instale CentOS en el que sera mi servidor, pero por alguna razon (por mas que le busco), no entiendo porque al crear el Alias, no puedo acceder al contenido de mi public_html.

Dejo la configuracion del httpd.conf (omito partes que no interesan)
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Listen 80
Include conf.d/*.conf
User apache
Group apache
ServerAdmin root@localhost
DocumentRoot "/var/www/html"
<Directory />
   Options FollowSymLinks
   AllowOverride None
</Directory>

<Directory "/var/www/html">
   Options Indexes FollowSymLinks
   AllowOverride None
   Order allow,deny
   Allow from all
</Directory>

<IfModule mod_userdir.c>
   UserDir disable
</IfModule>

<Directory /home/*/public_html>
       Order allow,deny
       Allow from all
Options FollowSymLinks
</Directory>

DirectoryIndex index.html index.php
AccessFileName .htaccess
<Files ~ "^\.ht">
   Order allow,deny
   Deny from all
</Files>
HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log combined


Y la configuracion de mis alias: /etc/httpd/conf.d/mis_alias.conf:
Alias /distros "/home/distros/public_html"
<Directory "/home/distros/public_html">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>


Cual sera el problema ?
#74
PHP / El otro condicional IF ??
31 Mayo 2011, 21:05 PM
Buenas.

Cual es el otro condicional como IF, pero que se expresa en una sola linea ?.... No recuerdo como se le llama a la sentencia, pero me urge saberlo e implementarlo:

Si no mal recuerdo va asi:

$dato ? 1:2

Ayuda...

Saludos !
#75
Buen dia.

Tengo un sistema de correos que me permite enviar publicidad a mis clientes, pero tengo un problema algo raro que ya me tiene muy desesperado !...

Estando en mi plataforma web, doy click sobre un botón que instituí para hacerme un envío de prueba a mi correo y ver "como se supone les llegara a los demás antes de procesar envíos", y como método de prueba cree una campa~a con el asunto: "Curso Virtual de computación", tomando en cuenta que la palabra "computación" esta acentuada. Al dar click en TEST, me llega el corre a mi bandeja y veo que el ASUNTO llega con la palabra acentuada (computacion), vaya TODO MUY BIEN.

Así que, ahora hago un "segundo test", pero ahora utilizando cron en mi servidor dedicado, ya que cada vez que creo una campa~a espero a que cron haga los envios cada madrugada (esa es la idea de automatizar). Pero bueno.... Me voy a la shell y escribo:

shell# curl -u usuario:clave miscript.php?id=test

Y ahora veo mi buzón de correo y noto que ahora en el asunto la palabra "computacion" no llgo acentuada :(.... Sino que llego asi:

Curso Virtual de computaci&Atilde;&sup3;n




Haciendo pruebas locales genere el sigueinte script local y lo corri en mi Apache Server:

http://localhost/test.php
<?php
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
$texto'Curso Virtual de computaci&Atilde;&sup3;n';

echo 
'<b>limpio</b><br>'$texto;
echo 
'<p><b>con decode</b><br>'html_entity_decode$textoENT_QUOTES );
?>


Al correr el script veo en limpio sale tal cual me llega al mail, y con decode me sale como "debería salirme en el buzón" (respetando las acentuaciones).




Ya verifique el charset default del httpd.conf y esta en UTF-8, ademas en miscript.php del cron tengo especificado el charset UTF-8.




--- ACTUALIZACION ---
Tengo que pasarle dos veces el html_entity_decode() al texto, cuando se esta ejecutando el test via CRON, para que pueda llegar la palabra acentuada. Pero, se me hace muy raro, ya que via web solo se le pasa una sola vez el html_entity_decode() y llega acentuada la palabra al mail.

Alguien sabe porque esto ?
#76
PHP / Formulario que interprete HTML ?
16 Mayo 2011, 21:51 PM
Buen día.

Tengo CMS propio que uso para alimentar mi sitio, en el cual utilizo un formulario que permite solo ingresar texto y BBCode, estos los utilizo a lo hora de colgar una noticia en mi blog, pero ultimamente he querido invitar a gente al blog pero estoy detenido en un dilema en que "necesito hacer cambios a la forma de colgar un post", principalmente porque NO TODOS son conocedores de informatica o carrea a fines, y me gusatia que el formulario donde escribo para colgar una noticia, tuviese el estilo como las aplicaciones WordPress, Drupal, Gmail, etc...

En si mi formulario esta formado por el INPUT TEXT donde va el titulo y TEXAREA donde escribo el contenido, y para darle estilo utilizo directo BBCode.

Alguien tiene alguna idea de como empezar para que mi formulario pueda ofrecer los estilos de BBCode pero sin tipear el BBCode, vaya, tener por ejemplo un boton de NEGRITA, y con seleccionar el texto este se ponga negrita tras pulsar el boton NEGRITA.

Se me vino a la mente quitar el TEXTAREA y colocar un IFRAME, el problema es que el iframe lee una src (pagina, hoja o direccion), pero esta tendria que contener un TEXTAREA (para poder meter texto), pero quedariamos en lo mismo, no se veria el texto negrita, sino el BBCode.

Saludos !
#77
Buenas.

Tengo un disco duro portatil el cual tiene escrito en la parte de atras (donde entra el adaptador de corriente):

DC 12V --- 2A

Pero no tengo su adaptador original, asi que el unico que me encontre poraqui es un adaptador de corriente que dice:

INPUT 100 - 240V~, 50 - 69 Hz 1.7A
OUTPUT 19V ---3.42A


Si conecto este adaptador al disco duro, le sucedera algo malo ?

Saludos !
#78
Buenas.

Tengo un servidor dedicado el cual le instale postfix+dovecot+saslauth y en primera instancia note que mis mails salian, asi que continue configurando la parte de autenticidad (spf v1, v2, dkim y domainkeys), todo quedo perfecto. Pero a la hora ya de estar trabajando fuerte, tuve la necesidad de enviar al principio una taza de 500 mails diarios, los cuales salian completamente.

Los 500 mails los envio con un script php que hice, en el cual en caso de haber error recolecto el valor devuelto por la funcion y guardo un log personal.

En fin, todo hiva bien hasta que de 500 llegue poco a poco a una taza de salida de 2,000 mails. En ese instante empeze a observar que ya no salian los 2,000 sino que solo salian 1,480 y efectivamente el log me empezo a decir que hubo error, solo se enviaban 1,480 de 2,000.

Ahora por mas que investigo no doy por la razon de como es que existe esa limitacion ?, pregunte con mi proveedor y ellos me mencionaron que al ser dedicado ellos no se metian con el server ni lo limitaban, asi que, ya no se ni como ni donde investigar.

Les dejo informacion de mi servidor:

/etc/postfix/main.cf -- http://pastebin.com/B2vygyD7
/etc/postfix/master.cf -- http://pastebin.com/mEcBqM9D
postconf -n -- > http://pastebin.com/q4y1avUa

El log se los pondria, pero como la taza de salida anda en 2,000 mails (y sol salen 1,480) pues esta grandizimo (pesa mucho), igual si alguien me recomienda ejecutar algun comando al log y mostrarles el resultado, por favor digamelo.

Saludos !
#79
Que tal.

Tengo un servidor dedicado el cual se encarga de enviar a eso de las 3:00 a.m. (madrugada) un aproximado de 2,500 reportes via correo electronico a los trabajadores de varias plantas (empresas), estos reportes se envian a dichas horas para cuando estos lleguen en la ma~ana, tengan los datos actualizados del proceso que se finalizo el dia anterior.

Al principio se empezo enviando una taza de 500 reportes y todo funcionaba perfectamente, la taza se fue aumentando hasta llegar a 2,500 envios y es cuando empezo el problema :(, empece a recivir quejas de que no llegaba el reporte asi que empeze a investigar y les cuento:

El servidor dedicado diariamente ejecuta un script PHP mediante cron, y noto que ahora ya no se se ejecuta completamente, vaya, verifique si el problema era el código (verifique el LOG de apache) y no se muestra ningún error de sintaxis en el script, después mire si por alguna razón los tiempos de ejecución del script estaban mal configurados en el php.ini, teniendo estos valores:

Código (php) [Seleccionar]
// phpinfo()
max_execution_time = 86400  // para 24 horas
max_file_uploads = 20
max_input_time = 86400 // para 24 horas
memory_limit = 128M
post_max_size = 1024M // 1GB
upload_max_filesize = 2G


Y la forma de como ejecuto el scrtip en cron es asi:

curl -u user:password http://localhost/script.php?op=start

Cual creen que sea el problema ?...
#80
Buenas.

Tengo un servidor dedicado al cual le configure todos los directorio del DocumentRoot asi:

<Directory "/home/usuario/public_html>
       Options FollowSymLinks
       Order allow,deny
      Allow from all
</Directory>


Para que mis usuarios puedan implementar mod_rewrite... Pero me tope con un problema :(, pues estoy implementando urls_amigables en mi blog principal y me sale un error de Internal Error y es por algo en el mod_rewrite.

Este es mi htaccess:
Options FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule ^(.+)/$ index.php?id=$1


Tengo que comentar la ultima linea que dice RewriteRule ^(.+)/$ index.php?id=$1, por que si la dejo me sale el error de Internal Error :(.

Checando el Log del error apache menciona:

[Thu Mar 31 14:32:30 2011] [alert] [client 189.158.185.112] /home/user/public_html/.htaccess: RewriteCond: bad flag delimiters

Y lo primero que pense es que eran las lineas de mi htaccess donde invoco dos sentencias de RewriteCond, pero creo que NO tienen que ver, porque si comento las lineas, dejando las lineas asi:


Options FollowSymLinks
RewriteEngine on
# RewriteCond %{REQUEST_FILENAME} !-f
# RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /
# RewriteRule ^(.+)/$ index.php?id=$1


Asi como esta arriba el htaccess, se despliega con exito el sitio, pero si descomento la ultima linea, me vuelve a salir el Internal Error.

Saludos !
#81
Hacking Mobile / Hack del Servicio 3G ?
29 Marzo 2011, 06:02 AM
Buenas.

Alguien por hay me comento que ya era posible robar la se~al del servicio 4G de las compa~ias de Telcel y Nextel (ambos de Mexico), no se que tan cierto sea, pero de primeras me parecio algo dificil pero a la vez como que increible y mas porque no habia escuchado nada al respecto.

Alguien que me confirme lo que me platicaron ?

Saludos !
#82
Buenas.

En mi sistema manejo datos que requiero consultar de MySQL que esten dentro del dia actual, vaya, que los datos que se consulten sean del mes/a~o actual.

Cada vez que se insertan datos nuevos existe una entrada en la tabla llamada FECHA en donde se guarda directamente la fecha obtenida mediante la funcion time().

Como puedo consultar los datos que concuerden con la fecha actual ?

Como solucion (momentanea) lo que hago es esto:

Código (php) [Seleccionar]
<?php
# Esta es la tabla (fictisia)
# create table DATOS (
#  TITULO VARCHAR(100) not NULL, 
#  MENSAJE TEXTnot NULL, 
#  FECHA VARCHAR(100) not NULL
#  );

$linkconectar();
$consmysql_query"select * from DATOS;"$link );
if( 
mysql_num_rows($cons) )
    {
    
$cont=0# contador 
    
while( $buf=mysql_fetch_array($cons) )
        {
        
# buscamos entrada del mes y a~o actual
        
if( !strcmpdate("m/y"time()), date("m/y"$buf["FECHA"]) ) ) # si es el mes/a~o actual
            
$cont++;
        }
    }

echo 
'Se encontraron en este mes <b>'$cont'</b> resultados.';
mysql_free_result($cons);
mysql_close($link);
?>
#83
Buenas.

Mi sistema web envía cada cierto tiempo notificaciones por correo a mis usuarios, al principio estas notificaciones estaban muy cutres (solo html estilo texto plano), así que me decidí por fin aparte un poco de tiempo para ver como implementar un "template" mas atractivo (visualmente).

Lo primero fue agregar una imagen en el top (banner) que invocaba con html (<img>), pero note que todas las iamgenes por defecto no se visualizaban, asi que, viendo que algunos mails publicitarios que me llegaban, estos si se desplegaban, encontre que era porque en el mismo mail en vez de invocar la imagen con <img> o adjuntarla {attached), la colocaban en el cuerpo del correo utilizando la propiedad (header) Content-ID: <hash@dominio.com>, posteriormente para insertarla escribian:
:
<img src="cid:hash@dominio.com">

Ya con esto, logre que mis imagenes se visualizaran sin pedirle permiso al usuario, pero.... aun me falta algo por hacer :(, y por eso que vengo aqui a ver si puedne ayudarme, el problema es:

Quiero implementar una imagen de fondo que se repita en todo el cuerpo, si lo hiciese con CSS seria:

Código (css) [Seleccionar]
<style>
#back_img {background:url("sitio.com/imagen.jpg") 3px 3px repeat;}
</stile>

<body>
<div id="back_img"></div>
</body>


El problema es que por lo general todos los inbox publicos (gmail, yahoo, hotmail) aceptan leer el STYLE puesto directamente en el DIV, solo especialmente yahoo y hotmail te leen los esilos declarados dentro de <style></style>, pero gmail no :(, este solo los lee dentro del <div>.

Asi que, para tener mas "portabilidad" decidi implementar todo dentro de los DIVs, y no poner la etiqueta <style></style>. Pero aun no logro hacer el proceso de que una imagen se repita en todo el cuerpo, asi como lo especifique en el code arriba.

Saludos !
#84
Buenas.

El dia de ayer mi hijita de 2 a~os al parecer hackeo mi lap :P, después de envestirla pulsando muchas teclas mientras el navegador Firefox estaba abierto, y lo curioso es que ahora se me presenta un problema que ni idea como empezar a ver la solución:

Ahora cuando abro el Firefox este NO me permite desplazarme en las paginas usando el PageUp y PageDown, porque es como si todas las paginas se convirtieran en una hoja de texto y apareciese un puntero (raya vertical) que la puedo cambiar de posicion dando click en otro sitio o bien usando las flechas (up, down, lef, right).

Como regreso al modo normal ?... Ya que me esta afectando cuando un sitio tiene por ejemplo una capa grande, se pone un punterote :S

Saludos !
#85
PHP / obtener enlace HTTP con preg_match ??
18 Febrero 2011, 22:32 PM
Buenas..

Hice un scrtip para acortar mis URLs en mi blog, el proceso lo hago muy simple:

1- me conecto al sitio is.gd con sockets.
3- Envio la peticion GET con mi URL.
4- Me responde con la URL acortada.

Mi problema, es que en lo que es la trama HTTP me llegan otros valores extras, esto me llega:

1- Url a acortar: http://lab.sie-group.net.
2- GET que invoco en el socket: http://is.gd/create.php?format=simple&url=http://lab.sie-group.net
3- Respuesta a nivel de socket: 13 http://is.gd/DuSqfL 0.

Si lo hacemos via Navegador, recivo solo: http://is.gd/DuSqfL, el valor 12 y 0 no se porque estan en la trama, en fin que puedo hacer para sacar la url ?

Este es mi code:

Código (php) [Seleccionar]
<?php
function is_gd$url )
{
$host'is.gd'# hostname
$get'create.php?format=simple'# get basico  
$urlurlencode($url); # acondicionamos url 
$get .= '&url='$url# concatenamos la url
$puerto80# puerto a consultar 

# trama HTTP 
$http_request"GET /$get HTTP/1.1\r\n";
$http_request .= "Host: $host \r\n";
$http_request .= "Connection: close\r\n";
$http_request .= "\r\n";

# consultamos 
if( ($fd= @fsockopen($host$puerto$errno$errstr10 ))==FALSE # abrimos socket
return 0# error, no se abrio el socket

fwrite($fd$http_request); # enviamos datos
$buf=''# buffer de recepcion 

while( !feof($fd) ) # leeremos sockets hasta que termine  
$buf .= fgets($fd2048); # leemos
fclose($fd); # cerramos flujo  

$estado='';
preg_match("{[0-9]{3}}"$buf$a); # obtenemos codigo recivido en transferencia
$estado$a[0]; # copiamos estado 
unset($a); 

$failstatus= array( "400""406""502""503" ); # codigos de error en consulta 
foreach( $failstatus as $key )
{
if( !strcmp($key$estado ) ) # si son iguales
echo 'Error en consulta: '$estado;
# return 0; # error en la consulta
}

$rexplode"\r\n\r\n"$buf );

echo '<br>Respuesta: '$r[1];
}
?>


Se imprime:

Respuesta: 13 http://is.gd/DuSqfL 0

Saludos !
#86
Redes / Problemas con Servidor SMTP
14 Febrero 2011, 21:20 PM
Buenas.

Tengo problemas con mi servidor mail a la hora que los inbox comerciales Gmail, yahoo, etc... detecten mi servidor como seguro o fidedigno, asi que buscando solucion agregue a mi Servidor DNS el flag SPF (en sus 2 versiones) e implemente dkim-milter en el servidor mail, hasta este punto los mails salen y son recividos con los siguientes headers:

trama de Gmail obtenida
Si pulso en Ver Detalles me sale el mensaje de:
enviado por miservidor.com
firmado por miservidor.com
Código (bash) [Seleccionar]
....
Received-SPF: pass (google.com: domain of contacto@miservidor.com designates IP_DEL_SERVIDOR as permitted sender) client-ip=IP_DEL_SERVIDOR;
Authentication-Results: mx.google.com; spf=pass (google.com: domain of contacto@miservidor.com designates IP_DEL_SERVIDOR as permitted sender) smtp.mail=contacto@miservidor.com; dkim=pass header.i=@miservidor.com
X-DKIM: Sendmail DKIM Filter v2.8.3 server.miservidor.com 51B8152408F
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=miservidor.com; s=default;
t=numeros; bh=numerosyletras=;
h=Date:Message-Id:To:Subject:MIME-Version:Content-Type:From;
b=numerosyletras=
....


trama de Yahoo obtenida
Cuando abres un mail seguro en Yahoo, puede notar un icono que es una cartita con una llavesita, que indica confiabilidad y que se implementan DmainKeys. En mi caso no me sale ese icono y quiero lograr hacer eso.
En las cabeceras, salen todas como se las mostre arriba, excepto la cabecera Authentucation-Result, que contiene un valor cambiamos:
Código (bash) [Seleccionar]
...
Authentication-Results: mta1055.mail.sk1.yahoo.com from=crver.net; domainkeys=neutral (no sig); from=crver.net; dkim=pass (ok)
...


Ademas en el log de mi servidor.com noto que mi postfix intenta hacer alguna comprobacion contra google (gmail), en fin, me sale este error:

# cat /var/log/maillog
Código (bash) [Seleccionar]
Feb 10 16:37:27 server postfix/smtp[1282]: certificate verification failed for gmail-smtp-in.l.google.com: num=20:unable to get local issuer certificate
Feb 10 16:37:27 server postfix/smtp[1282]: certificate verification failed for gmail-smtp-in.l.google.com: num=27:certificate not trusted


MI PROBLEMA
En si quiero lograr esto:

[1] - Que yahoo me reciva al inbox y me aparezca el icono que quiere decir se usan DomainKeys (cartita con llaveita).
[2] - Saber si google con lo que tengo actualmente implementado me recivira siempre al inbox ? (ya que actualmente van al Inbox directo).

Detalles Extras
Si escribo un mail diciendo que lo envia usuario@hotmail.com, para usuario@gmail.com y establezco el Return-Path con contacto@miservidor.com..

En Gmail
Cuando veo el detalle del mail, solamente dice: Enviado mi miservidor.com, y ya no aparece el mensaje de Firmado por miservidor.com... Porque ?, como firmo el mensaje aun asi ?, que puedo hacer ?




Actualmente el servidor mail cuenta con:
- dkim-milter.
- postfix.
- dovecot.
- saslauth
- bind (named)
- dnssec (instalado, sin configurar aun).

Espero puedan ayudarme !!


=== EDITADO ===

Estuve verificando despues de muchas pruebas, que la razon principal de que Yahoo no me pone el sello de la cartita con la llave es porque utilizo dkim-milter... y Yahoo comprueba las DomainKeys que es propiamente un servicio de autenticidad creado por el mismo Yahoo. Asi que estoy trabajando en la instalacion y funcionamiento de este.

Continuando con el problema ahora la cosa esta en la firmada del correo, ya que estuve observando que si envio un mail de mail@miservidor.com para micuenta@gmail.com, el postfix SI FIRMA el correo, y GMAIL me pone en los detalles que mail fue enviado y firmado por miservidor.com.
Pero cuando envio un correo de mail@hotmail.com (u otro proveedor), para micuenta@gmail.com, postfix no firma el correo, y Gmail me lo confirma porque en los detalles solo me dice mail enviado por servidor.com pero ya no dice mensaje sobre que este firmado por miservidor.com.

OJO: los mails los envios desde un script en php.

Me imagino que es algun conflicto en mi postfix (creo), pero no se ni por donde empezar a buscarle !

Saludos !
#87
PHP / Problema en Re-Captcha Google con AJAX
11 Febrero 2011, 23:35 PM
Buenas.

Estoy implementando Re-Captcha en mi sitio web turundus.net pero no me sale impreso el cuadro del re-captcha :(... Vaya, cuando un usuario se quiere registrar en el sitio, al clickear en el boton de Registrarse este carga mediante AJAX dentro de la capa un formulario donde estan los campos y al final invoco la llamada al re-captcha, pero no se muestra.

Buscando sobre si tenia error mi codigo, confirme que NO, porque si tengo una hoja PHP (que no cargue AJAX) el recuadro de Re-Captcha si se muestra !...

Aqui tengo el ejemplo: http://turundus.net/test.php <-- si se imprime re-captcha

Pero si entran al sitio www.turundus.net y le dan click en Registrar se carga una pagina con AJAX, pero nada :(...

Buscando si el problema es la CAPA principal... pues meti la llamada del re-captcha dentro de un DIV, el cual le puse el estilo de with:600px;height:400px;border:solid 1px red;, pero aun asi aparece vacio !

Revice el LOG de Apache y no se muestran errores !...

Cual sera el problema ?




Aglo de code...

El boton registrarse se invoca asi:
Código (php) [Seleccionar]
<?php
echo '<a href="#" onclick="cargar_datos( \'id=registro\', \'contenido_general\', \'GET\', \'0\' );">Registrarse</a>';
?>


La funcion cargar_datos() invoca ajax... Asi que, se carga el formulario con este contenido:

Código (php) [Seleccionar]
<?php
        <
table id="mi_tabla">
       
<th colspan="2">Datos de Registro</th><tr>
       
<td>Usuario:</td><td><input class="in_put" type="text" name="registro_usuario" id="registro_usuario"></td><tr>
       
<td>Clave:</td><td><input class="in_put" type="password" name="registro_clave" id="registro_clave"></td><span>(minimo 8 caracteres)</span><tr>
       
<td>E-Mail:</td><td><input class="in_put" type="text" name="registro_email" id="registro_email"></td><tr>
       
<td colspan="2" class="t-right"><input type="image" value="Registrarme" src="'. URL_TEMPLATE. '/design/button-continuar.gif" onclick="cargar_datos( \'id=registro&op=done\', \'contenido_general\', \'POST\', \'registro_usuario:registro_clave:registro_email\');"></td>
       
</table>';
       
        echo '
<div id="captcha">';
        get_captcha(); # ponemos captcha
        echo '
</div>';
?>


La capa captcha esta declarada asi en els tyle:

Código (css) [Seleccionar]

#captcha {border:solid 1px red;width:700px;height:250px;}
#captcha iframe {border:solid 1px red;}


Y la funcion get_captcha(); invoca:

Código (php) [Seleccionar]
<?php
function get_captcha()
{
# imprimirmos form y pasamos como argumento la clave publica  
echo recaptcha_get_htmlget_recaptcha_publickey(), NULL );
}
?>

La funcion get_recaptcha_publickey() porpociona la public key guardada en la Base de Datos.

Saludos !
#88
PHP / URLs Amigables a profundidad ? (solved)
6 Febrero 2011, 01:56 AM
Buenas...

Tengo algunos problemas para el proceso de profundizar las busquedas con "urls amigables", hasta ahorita logro con exito implementar urls amigables para la lectura de temas o bien la lectura de posts de una sección, por ejemplo:

Para Leer un tema, la url amigable es: http://misitio.com/hoja/idnoticia-nombre_del_tema.html
Para Leer una sección: http://misitio.com/sección/

Y utilizo el siguiente htaccess:
Options +FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteEngine on
RewriteBase /
RewriteRule ^(.+)/$ index.php?ver=$1 # aqui leemos una sección
RewriteRule ^hoja/(.+)\-(.+)\.html$ index.php?hoja=$1 # aqui leemos tema o noticia


Pero ahora quiero implementar la profundidas de modo que pueda por ejemplo acceder a contenido dentro de una sección, por ejemplo: tengo una sección en mi blog llamada BugTrack donde existen sub-temas dentro los cuales muestran otro contenido. Para acceder al contenido dentro de la sección invoco el siguiente url_amigable.

http://lab.sie-group.net/bugtrack/bug/IDDELBUG/

Como vemos esta url_amigable es de profundidas 1 en donde dentro de una sección hacemos una profundidad.

Con la finalidad de pode mostrar el contenido, implemento esta linea en el htaccess:

RewriteRule ^(.+)/(.+)/(.+)/$ index.php?ver=$1&$2=$3

En donde finalmente la url amigable http://lab.sie-group.net/bugtrack/bug/IDDELBUG/ intento traducirla asi: index.php?ver=bugtrack&bug=IDDELBUG.

Pero finalmente algo me falla :(, porque no me muestra el contenido :(, me sale sección no existe....

Saludos !

=== EDITADO ===

He impreso el valor $_GET["ver"] despues de la leyenda sección inexistente y me imprime esto: index.php, en donde se supone debe imprimir bugtrack que es el valor que debe tomar segun la linea que implemente en el htaccess.
#89
Buenas..

Quiero implementar un código que me permita redimencionar una imagen o todas las imágenes de un directorio, en donde se le pasan 2 argumentos que son:

argumento 1: nombre de la imagen o directorio.
argumento 2: el width solamente.

En donde si como argumento 1 se le pasa el nombre de imagen entonces la redimenciona, si se le pasa un directorio entonces redimenciona todas.
En donde como argumento 2 es el width deseado, si el width es mayor a la dimencion real de la imagen, entonces no se redimenciona, si sobre pasa, entonces se redimenciona pero utilizando niveles porcentuales. Vaya, si la imagen real es de: 500x850 y deseamos un width de 120, entonces el height lo calculamos en base a la reducción en porcentaje que sufrio el width de 800. Quedando una imagen de 120x204.

Mi código realiza todo el proceso solo que no me genera la imagen en si :(, solo genera imagenes en color negro, ya estuve viendo el code y no encuentro mi error, espero puedan ayudarme:

Aqui un Screenshot

Código (php) [Seleccionar]
<?php
function crear_imagen$formato$archivo )
{
if( !strcmp($formato"image/jpeg") )
$imgimagecreatefromjpeg($archivo);
else if( !strcmp($formato"image/jpg") )
$imgimagecreatefromjpeg($archivo);
else if( !strcmp($formato"image/png") )
$imgimagecreatefrompng($archivo);

unset($formato);
return $img
}

# redimenciona una o varias imagenes que este dentro de un directorio
# obtenido mediante el argumento y estableciendo las dimencion deseada o aproximada 
function redimencionar_imagen$data$sizeall )
{
if( is_dir($data) ) # si es directorio, entonces redimencionaremos todas las imagenes dentro 
{
$dir$data;
$dopendir($dir); # acrimos directorio
while( ($buf=readdir($d))!==FALSE#leemos
{
if( strcmp($buf".") && strcmp($buf"..") && !is_dir($buf) ) # si es distinto a patth oculto y no es directorio
{
$tiposubstrstrtolower($buf), -); # extraemos extensión
$nombresubstr$buf0, -); # extraemos nombre real
$new$nombre'_resized.'$tipo# nuevo nombre con tag y extensión

$imgcrear_imagen"image/"$tipo$dir.$buf ); # creamos imagen apartir de la principal

$sizegetimagesize($dir.$buf); # obtenemos dimencion de la imagen original
$w$size[0]; # extraemos width
$h=$size[1]; # extraemos height

# si es menor a la dimencion de thumbnails requerida
if( $w<=$sizeall )
{
$width$w;
$height$h;
}
else # entonces es mayor, se redimenciona
{
$extract$w-$sizeall# obtenemos los pixeles que se quitaran a la dimencion original
$porcentaje= ($extract*100)/$w# obtenemos porcentaje que se le reducira al width original
$width$sizeall# establecemos width deseado
$height$h-(($h*$porcentaje)/100); # obtenemos dimencion height segun la reduccion del porcentaje
}

$thumbimagecreatetruecolor($width$height); # creamos imagen con dimenciones
imagecopyresampled($thumb$img0000$width$height$w$h ); # creamos imagen virtual
imprimir_imagen$thumb"image/".$tipo0$dir.$new100 ); # creamos imagen

unset($new$tipo$nombre); 
}
}
closedir($d);
}
else # entonces es un archivo, redimencionamos la imagen
{
$buf$data# copiamos para usar el mismo code de arriba
$tiposubstrstrtolower($buf), -); # extraemos extensión
$nombresubstr$buf0, -); # extraemos nombre real
$new$nombre'_resized.'$tipo# nuevo nombre con tag y extensión

$imgcrear_imagen"image/"$tipo$buf ); # creamos imagen apartir de la principal

$sizegetimagesize($buf); # obtenemos dimencion de la imagen original
$w$size[0]; # extraemos width
$h=$size[1]; # extraemos height

# si es menor a la dimencion de thumbnails requerida
if( $w<=$sizeall )
{
$width$w;
$height$h;
}
else # entonces es mayor, se redimenciona
{
$extract$w-$sizeall# obtenemos los pixeles que se quitaran a la dimencion original
$porcentaje= ($extract*100)/$w# obtenemos porcentaje que se le reducira al width original
$width$sizeall# establecemos width deseado
$height$h-(($h*$porcentaje)/100); # obtenemos dimencion height segun la reduccion del porcentaje
}

# obtenemos el directorio
$xexplode("/"$buf ); # explotamos
$dir='';
# recorremos arreglo excluyendo el ultimo valor para dar con el directorio real
for($i=0$i<(count($x)-1); $i++ )
$dir .= $x[$i]; # concatenamos
 
$thumbimagecreatetruecolor($width$height); # creamos imagen con dimenciones
imagecopyresampled($thumb$img0000$width$height$w$h ); # creamos imagen virtual
imprimir_imagen$thumb"image/".$tipo0$dir.$new100 ); # creamos imagen

unset($new$tipo$nombre$dir$x$i);  
}
}
?>


Código (php) [Seleccionar]
<?php
function imprimir_imagen$img$formato$modo$url$calidad )
{
if( $modo==//se mostrara al tiempo
header_imagen$formato );
//entonces si modo es 0 no se imprime, se GUARDA

if( !strcmp($formato"image/jpeg") )
return imagejpeg($img$url$calidad );
else if( !strcmp($formato"image/jpg") )
return imagejpeg($img$url$calidad );
else if( !strcmp($formato"image/png") )
return imagepng($img$url$calidad );

return 0;
unset($formato);
unset($img); 
}
?>
#90
PHP / Es apache, yo o mi proveedor ? (solved)
1 Febrero 2011, 05:21 AM
Buenas...

Recien actualice mi plan con GoDaddy y pase de ser un hosting shared a un hosting web, mas que nada porque el Hosting Web incluia una version mas nueva de Apache, lo cual el Hosting Shared se habia quedado con una version ya muy pasadita !.

En fin, despues que hicieron la migracion todos mis archivos quedaron en su sitio, el unico problema es que ahora no entiendo porque este error persiste:

Warning: Invalid argument supplied for foreach() in /home/content/15/4789315/html/lab/templates/
white_light/cuerpo/estadisticas.php on line 69


En donde la linea 68 invoca la funcion get_browser() que proporciona browscap.ini. Ya verifique y efectivamente browscap.ini esta cargandose en el PHP.INI (ya hice phpinfo()), y pues a como dice el error, el mensaje se da porque la funcion get_browser() no esta devolviendo un array.

Ya que en la siguiente liena (linea 69) invoco foreach en busca de los datos...

Pero bueno, si ha alguien le paso lo mismo o le esta pasando, por favor echenme una mano !

Saludos !