Está en: »

Blog

Insertar valores retornados desde un select en MS SQL

Actualmente estoy desarrollando una aplicación (intranet) basada en php y mssql (Microsoft SQL server 2000) para un cliente.

Necesito realizar un volcado de algunos datos de una tabla en otra donde los campos son distintos. Para realizarlo, utilizo la sentencia:

INSERT INTO tabla2
SELECT campo1 AS campo1nuevo, campo2 AS campo2nuevo, campo3 AS campo3nuevo, campo4 AS campo4nuevo
FROM tabla1
WHERE campo1.tabla2 = 'valor a filtrar'

Continúe leyendo…

Comandos GNU/Linux para principiantes

Poco a poco, y con mucho esfuerzo, voy evangelizando a algunos usuarios, pero constantemente me están preguntando como era tal o cual comando.

Para estos “novatos”, encontré una lista (la cual adjunto en pdf), traducida por Fran Delgado, en la que se detallan los comandos más básicos:

Trabajando con archivos

  • ls –> listar contenido de un directorio
  • ls -al –> listado con atributos y archivos ocultos
  • cd newdir/ -> moverse al directorio newdir
  • cd –> moverse al directorio home
  • pwd –> mostrar la ruta actual
  • rm file –> borrar el archivo file
  • rm -r dir –> borrar el directorio dir
  • rm -f file –> borrar file sin emitir mensajes de error
  • rm -rf dir –> igual que el anterior pero con el directorio dir [**]
  • cp file1 file2 –> copiar file1 en file2
  • cp -r dir1 dir2 –> copiar el dir1 en dir2 (si no existe se crea)
  • mv file1 file2 –> renombra file1 como file2. Si file2 es un directorio lo mueve dentro del mismo.
  • ln -s file link –> crea un enlace simbólico de link hacia file.
  • touch file –> crea o actualiza file
  • cat > file –> redirecciona la entrada estándar a file
  • more file –> muestra el contenido de file
  • head file –> muestra las 10 primeras filas de file
  • tail file –> muestra las 10 últimas filas de file
  • tail -f file –> muestra las 10 últimas filas de file a medida que va creciendo.

Gestión de procesos
Continúe leyendo…

Router, firewall, proxy… bajo una máquina potente o poco potente

Hace ya tiempo que desistí de las horrendas funcionalidades de los router que ofrecen las operadoras de comunicaciones. Y es que cuando deseas una buena funcionalidad (y en este caso sólo hablo de enrutar), se suelen tener problemas varidados y habituales.

¿Qué decir de esos supuestos firewall que traen algunos? No creo que el cortafuegos que incorpora Windows XP sea tan deprimente (no puedo asegurarlo ya que no utilizo la plataforma Windows -bueno, sólo para probar algunos diseños-).

Ya hace basante que un cliente me preguntó que cómo podía controlar los accesos a internet de sus empleados. Por entonces no conocía muchas plataformas libres para dicho propósito, pero por no resignarme a ese caro y pesado ISA Server, me puse manos a la obra a buscar alguna buena solución abierta.

En dicha búsqueda, encontré muchas más soluciones de las que esperaba. Desde variantes de GNU/Linux hasta OpenBSD o FreeBSD, algo que me dió bastante alegría, ya que para controlar una red bajo un Directorio Activo de Microsoft pensaba que me tendría que limitar a ISA Server.

Bueno, detallo algunas impresiones de los más interesantes proyectos que encontré:
Continúe leyendo…

Crear copias de seguridad en servidor web de hosting mediante php

Cuando tenemos un cms alojado, normalmente suele tener algún sistema para las copias de seguridad. Pero también es cierto que la mayoría simplemente hacen un backup de la base de datos, dejando los adjuntos (imágenes, vídeos, ficheros…) descartados.

Otras veces, por necesidades del cliente, desarrollamos nosotros mismos la aplicación.

La cuestión es que sea cual sea el caso, se suele necesitar un sistema de backups medianamente funcional. Y para dicho propósito, he creado un script en php.

El funcionamiento del archivo es bien sencillo:
Continúe leyendo…

Enjaular a un usuario conectado por ssh

En determinadas ocasiones, necesitamos permitir el acceso de determinados usuarios (en los que normalmente no se confía) a nuestro servidor.

En dichas ocasiones, no queremos que pongan en peligro la seguridad del sistema, así como tampo que puedan acceder a determinadas cosas agenas a ellos.

Como la confianza de que no toquen ni vean nada es nula, necesitamos enjaular al usuario y evitaremos dichos problemas.

Pero ¿qué es enjaular?
Continúe leyendo…

Acceso ssh sin contraseña

En el mundo de la administración de servidores *nix, es común utilizar ssh para saltar de uno a otro y administrar lo necesario.

Para estos casos, el escribir una contraseña, puede ser algo molesto pero funciona correctamente. Pero ¿qué pasa si lo que queremos es que acceda un script automáticamente para realizar ciertas acciones?
Continúe leyendo…

Acceso a consola de nuestro servidor web

Alguna que otra vez, nos hemos encontrado con la necesidad de ejecutar algún comando en nuestro servidor web.

La gran mayoría de las empresas proveedoras de hosting nopermiten el acceso al mismo (si tú eres uno de los que lo permiten, deja un comentario para que conozcamos ese buen proveedor).

Así pues, php tiene algunas funciones que nos permiten ejecutar comandos de consola en nuestro servidor web.

system

  • la función nos permite lanzar un comando en consola y retorna el resultado y salida.

echo ‘pre>’;

// Muestra el resultado completo del comando “ls”, y devuelve la

// ultima linea de la salida en $ultima_linea.

// Almacena el valor de retorno del comando en $retval.

$ultima_linea = system(‘ls’, $retval);

// Imprimir informacion adicional

Última linea de la salida:’ . $ultima_linea . ‘

Valor de retorno: ‘ . $retval;

echo ‘/pre>’;

?>

exec

similar a la función system

passthru

la función es similar a exec, con la diferencia que retorna binarios

Con estas funciones podemos acceder a la consola de nuestro servidor de una forma relativamente sencilla.

Buscando información sobre este tema, dí con una página que contenía un archivo php el cual “emulaba” una consola (si usted es el creador del mismo, por favor, déjeme un comentario para atribuirle el desarrollo del mismo).

El contenido es (al final podrá descargarlo):

:->

El archivo es potencialmente peligroso, ya que nos permite, por ejemplo, eliminar, listar o copiar archivos fácilmente. Tiene un mínimo sistema de seguridad que se basa en filtrar el acceso mediante la ip del navegante. Así mismo y por falta de tiempo para establecer una mayor seguridad, lo inserté en una carpeta a la cual le establecí una protección mediante .htaccess

Tiene que eliminar la extensión del mismo ( .txt ), editarlo para cambiar la ip pública y establecer la suya (no la del servidor) y subirlo a su hosting.

Referencias:

http://es.php.net/manual/es