28 octubre 2005

ASP: Validación de nº positivo

Dim regEx
Set regEx = New RegExp

regEx.Pattern = "^\d+$"
Validate = regEx.Test(num_comprobar)

Validate será true si num_comprobar es un nº positivo y false en caso contrario.

Para más información sobre esta y muchas otras validaciones del lado del servidor en ASP: http://www.15seconds.com/issue/010301.htm

27 octubre 2005

Ver sentencias SQL ejecutadas en MySQL

Para poder visualizar todas las sentencias SQL que se ejecutan en MySQL así como los detalles de quien las ejecutó, basta con añadir al fichero de configuración (/etc/my.cnf en Linux o my.ini en Windows) la opción: log=fichero

Por ejemplo:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log=/var/log/mysqld.log

Nota: el fichero de log tiene que tener permisos de escritura para los usuarios de los que se desean ver las sentencias SQL. Para dar permiso de lectura/escritura a todos en Linux: chmod a+rw fichero

Enlace relacionado: http://dev.mysql.com/doc/refman/5.0/en/query-log.html

17 octubre 2005

Puertos TCP y UDP importantes

  Puerto  Prot.  Descripción
7 TCP Protocolo Echo (Eco)
7 UDP Protocolo Echo (Eco)
8 TCP Protocolo ICMP (Ping)
8 UDP Protocolo ICMP (Ping)
20 TCP FTP File Transfer Protocol - datos
21 TCP FTP File Transfer Protocol - conrol
22 TCP SSH, scp, sftp
23 TCP Telnet comunicaciones de texto inseguras
25 TCP SMTP Simple Mail Transfer Protocol
53 TCP DNS Domain Name System (Sistema Nombres de Dominio)
53 UDP DNS Domain Name System (Sistema Nombres de Dominio)
67 UDP BOOTP BootStrap Protocol (Server), tb usado por DHCP
68 UDP BOOTP BootStrap Protocol (Server), tb usado por DHCP
69 UDP TFTP Trivial File Transfer Protocol
70 TCP Gopher
79 TCP Finger
80 TCP HTTP HyperText Transfer Protocol (WWW)
88 TCP Kerberos Agente de autenticación
110 TCP POP3 Post Office Protocol (E-mail)
113 TCP ident antiguo sistema de identificación
119 TCP NNTP usado en los grupos de noticias de usenet
123 TCP NTP Network Time Protocol (Sincronización horaria)
123 UDP NTP Network Time Protocol (Sincronización horaria)
139 TCP NetBIOS
143 TCP IMAP4 Internet Message Access Protocol (E-mail)
443 TCP HTTPS usado para la transferencia segura de páginas web
445 TCP Microsoft-DS (Active Directory, compartición en Windows)
445 UDP Microsoft-DS compartición de ficheros
514 UDP syslog usado para logs del sistema
591 TCP FileMaker 6.0 (alternativa para HTTP, ver puerto 80)
993 TCP IMAP4 sobre SSL (E-mail)
995 TCP POP3 sobre SSL (E-mail)
1080 TCP SOCKS Proxy
1337 TCP Suele usarse en máquinas comprometidas o infectadas
1352 TCP IBM Lotus Notes/Domino RCP
1433 TCP Microsoft-SQL-Server
1434 TCP Microsoft-SQL-Monitor
1434 UDP Microsoft-SQL-Monitor
1521 TCP Oracle listener por defecto
1863 TCP MSN Messenger
2082 TCP CPanel puerto por defecto
2086 TCP Web Host Manager puerto por defecto
3128 TCP HTTP usado por web caches y por defecto en Squid cache
3306 TCP MySQL sistema de gestión de bases de datos
3389 TCP Microsoft Terminal Server (RDP), Escritorio remoto
4662 TCP Emule (aplicación de compartición de ficheros)
5000 TCP Universal plug-and-play
5190 TCP AOL y AOL Instant Messenger
5222 TCP XMPP/Jabber conexión de cliente
5223 TCP XMPP/Jabber puerto por defecto para conexiones SSL
5269 TCP XMPP/Jabber conexión de servidor
5432 TCP PostgreSQL sistema de gestión de bases de datos
5800 TCP VNC protocolo de escritorio remoto (usado sobre HTTP)
5900 TCP VNC protocolo de escritorio remoto (conexión normal)
6000 TCP X11 usado para X-windows
6112 UDP Blizzard
6346 TCP Gnutella compartición de ficheros (Bearshare, Limewire...)
6667 TCP IRC Internet Relay Chat
6881 TCP BitTorrent puerto por defecto
6969 TCP BitTorrent puerto de tracker
8080 TCP HTTP. Tomcat lo usa como puerto por defecto.
8118 TCP privoxy
9898 TCP Gusano Dabber (troyano/virus)
31337 TCP Back Orifice herramienta de adminstración remota

Lista completa de IANA:
http://www.iana.org/assignments/port-numbers

Enlace interesante (escanear, bloquear puertos):
http://perux.iespana.es/perux/sports.html

15 octubre 2005

Acceso FTP desde el navegador

Si no tenemos un cliente FTP a mano, es posible acceder a una cuenta ftp sin más que poner en la barra de direcciones:

ftp://usuario@ftp.servidor.es (se preguntará la contraseña)

o directamente:

ftp://usuario:passwd@ftp.servidor.es

o de forma anónima (siempre que el servidor lo permita):

ftp://ftp.servidor.es

donde usuario es el nombre de usuario de la cuenta, passwd es la contraseña y ftp.servidor.es es el servidor FTP.

Nota 1: el Internet Explorer además de lectura permite escritura en el sitio ftp.
Nota 2: también es posible acceder de la misma forma a páginas de acceso restringido simplemente sustituyendo ftp:// por http://

11 octubre 2005

Crear nuevo servicio en Linux

Los servicios de Linux están en /etc/init.d o /etc/rc.d/init.d en forma de shell scripts. Para añadir uno (por ejemplo para tomcat) hay que generar un script con la estructura que tienen los scripts existentes (que admita los parámetros start y stop) y debe llevar comentado al principio lo siguiente:

# chkconfig: 345 80 20
# description: Tomcat is the Apache Servlet Engine
# processname: tomcat
# pidfile: /var/run/tomcat.pid

La primera línea indica al instalador que el servicio se va a ejecutar en los niveles 3, 4 y 5, y que la prioridad de inicio del servicio será 80 y la de finalización 20.
Las segunda línea muestra la descripción del servicio.
Las otras dos líneas son opcionales.

Para instalar el servicio una vez que ha sido correctamente creado el script (probar ejecutando 'tomcat start' y 'tomcat stop') se debe escribir: chkconfig --add tomcat

Ejemplo de script para tomcat:

#!/bin/sh
# This shell script starts and stops tomcat.
# chkconfig: 345 80 20
# description: Tomcat is the Apache Servlet Engine
# processname: tomcat
# pidfile: /var/run/tomcat.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
RETVAL=0
export JAVA_HOME=/usr/local/java
export CATALINA_HOME=/usr/local/tomcat
export PATH=$PATH:/usr/local/bin:$JAVA_HOME/bin
# See how we were called.
case "$1" in
start)
# Start daemons.
echo -n "Starting tomcat: "
$CATALINA_HOME/bin/catalina.sh start
RETVAL=$?
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/tomcat
echo
;;
stop)
# Stop daemons.
echo -n "Shutting down tomcat: "
$CATALINA_HOME/bin/catalina.sh stop
RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tomcat
echo
;;
restart)
$0 stop
$0 start
RETVAL=$?
;;
*)
echo "Usage: tomcat {start|stop|restart}"
exit 1
esac
exit $RETVAL

07 octubre 2005

Auto redireccionar o refrescar página web

Después de la etiqueta <HTML> poner:
<META http-equiv="refresh" content="5;URL=http://otra.url.es/pagina.html">
para redireccionar a otra página después de 5 segundos o
<META http-equiv="refresh" content="5">
para refrescar la misma página después de 5 segundos.

Comprobar versión DirectX

Simplemente ir a [Inicio>Ejecutar...] y escribir dxdiag para acceder a la utilidad de configuración de directX. En la primera pestaña (Sistema) ya aparece la versión.