Detectando la IP del visitante

26 05 2007

PHP sin detección de Proxy

<?php
$direccionip = getenv(REMOTE_ADDR);
?>

PHP con detección de Proxy

<?php
if (getenv(HTTP_X_FORWARDED_FOR)) {
    $direccionip = getenv(HTTP_X_FORWARDED_FOR);
} else {
    $direccionip = getenv(REMOTE_ADDR);
}?>

ASP sin detección de Proxy

<%
direccionip = Request.ServerVariables(”REMOTE_ADDR”)
%>

ASP con detección de Proxy

<%
direccionip = Request.ServerVariables(”HTTP_X_FORWARDED_FOR”)
If direccionip = “” Then
    direccionip = Request.ServerVariables(”REMOTE_ADDR”)
End If
%>

JSP sin detección de Proxy

<%
String direccionip = request.getRemoteAddr();
%>

JSP con detección de Proxy

<%
if (request.getHeader(”HTTP_X_FORWARDED_FOR”) == null) {
    String direccionip = request.getRemoteAddr();
} else {
    String direccionip = request.getHeader(”HTTP_X_FORWARDED_FOR”);
}
%>

Fuente | Sistemas Operativos





Mysql no arranca por la variable expire_logs_days

9 05 2007

De repente me encuentro con que el servidor de MySQL no arranca y da un mensaje de error como el que sigue:

May  9 04:20:16 localhost mysqld_safe[11853]: started
May  9 04:20:17 localhost mysqld[11857]: 070509  4:20:17 /usr/sbin/mysqld: unknown variable 'expire_logs_days=10'
May  9 04:20:17 localhost mysqld[11857]:
May  9 04:20:17 localhost mysqld_safe[11859]: ended
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: 0 processes alive and '/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf ping' resulted in
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: ^G/usr/bin/mysqlad min: connect to server at 'localhost' failed
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
May  9 04:20:23 localhost /etc/init.d/mysql[11922]: mysqld: unknown variable 'expire_logs_days=10'

Buscando por la red, finalmente he encontrado de dónde venía el posible problema. Más concretamente, en esta porción de código:

# The following can be used as easy to replay backup logs or for replication.
#server-id		= 1
log_bin			= /var/log/mysql/mysql-bin.log
# WARNING: Using expire_logs_days without bin_log crashes the server! See README.Debian!
expire_logs_days	= 10
max_binlog_size         = 100M
#binlog_do_db		= include_database_name
#binlog_ignore_db	= include_database_name

¿Como solucionarlo?

Editando el fichero de configuración de MySQL (/etc/mysql/my.cnf) y comentando la correspondiente linea donde se define el valor de expire_logs_days.

Una vez modificado el fichero de configuración, basta con reiniciar MySQL (/etc/init.d/mysql restart) y todo vuelve a la normalidad.

Fuente | Mysql no arranca per la variable expire_logs_days





Chuletas para programadores web

21 04 2007

A menudo, programando, uno se encuentra con esa duda sobre como era tal o cual función el PHP, Javascript, etc. Normalmente, la solución está en algún libro de referencia o en Google.

Pues bien, desde ya mismo hay una tercera solución que es el de consultar las chuletas que indico a continuación:

Fuente | Chuletas

URI para TrackBacks.





Mostrar el escritorio

23 02 2007

En los sistemas Windows, existe un icono en la barra de herramientas que permite minimizar todas las ventanas para acceder directamente al escritorio.

No son pocos los usuarios a los que, por accidente, les ha desaparecido ese icono y después echan de menos su funcionalidad. Ahí va un pequeño truco para solucionar el problema en solo 3 pasos.

  1. Crear un fichero con en siguiente contenido
    [Shell]
    Command=2
    IconFile=explorer.exe,3
    [Taskbar]
    Command=ToggleDesktop
  2. Guardarlo en el escritorio con el nombre Show Desktop.scf
  3. Arrastrarlo hacia la barra de herramientas de acceso rápido

Puedes descargar el fichero haciendo clic aqui.

Si te ha gustado esta noticia puedes compartirla: MeneameDeliciousTechoratiDiggYahoo!





sudo: timestamp too far in the future

7 01 2007

Acabo de instalar Ubuntu 6.10 (Edgy Eft) y cuando intento actualizar el sistema con “sudo apt-get update” me da el siguiente mensaje:

sudo: timestamp too far in the future: Jan 8 00:10:06 2007

Cuando, en realidad, la hora actual es Jan 7 23:17:35 2007.

Por lo visto, esto pasa porque sudo tiene fijado un timestamp posterior al instante de tiempo actual y por eso da problemas. Para solucionarlo he hecho lo siguiente:

  1. Ajustar la fecha del sistema a un momento cualquiera que sea posterior al indicado por el mensaje de sudo.
  2. sudo -k” para limpiar el timestamp
  3. Volver a fijar la fecha y hora correctas.

A mi me ha funcionado. Espero que también os sirva a vosotros.

Si te ha gustado esta noticia puedes compartirla: MeneameDeliciousTechoratiDiggYahoo!