Archivo para la Categoría "►Tutoriales"

Evitar listado de directorios, archivo en Apache y IIS

Si bien muchas veces nuestros servidores instalados, por default vienen con la característica de permitir el listado de directorios, en ocasiones este puede convertirse en un problema de seguridad , por lo que seria conveniente que restrinjamos esa opción.

Apache

Para apache tenemos 3 métodos distintos:

image

 

Método 1

El primer método precario y hasta un grado tedioso es colocar un archivo index.html | index.php | index.htm a cada uno de los directorios donde no queremos que se listen los archivos.

image

en el ejemplo coloque un archivo index.html en el directorio images, para que no se listaran los archivos del mismo.

 

Método 2

El siguiente método consiste en crear un archivo .htaccess para ello abrimos un símbolo de sistema, nos movemos al directorio raíz de nuestro sitio (en este caso prueba) y escribimos la siguiente línea:

echo Options -Indexes > .htaccess

image

con esto evitaremos que cualquier directorio que se encuentra debajo del directorio principal liste los archivos, apareciendo lo siguiente:

image

de esta forma hasta podemos seleccionar que tipo de archivos queremos que se listen y cuales no; para mayor información:

http://www.enespanol.com.ar/2006/04/03/tutorial-de-htaccess/
http://mundogeek.net/archivos/2005/05/04/htaccess/
http://www.webmasterlibre.com/2006/09/04/los-htaccess/

Método 3

Este método es directamente en archivo de configuración de apache (en mi caso estoy utilizando XAMPP, por lo que mi archivo de configuración es C:\xampp\apache\conf\httpd.conf ).

Abrimos el archivo de configuración de apache con nuestro editor favorito (Notepad++) y buscamos la linea “Options Indexes FollowSymLinks

image

modificaremos la línea agregando un “-“ al inicio de “Indexes”, quedando de la siguiente forma: “Options -Indexes FollowSymLinks

image

Guardamos el archivo y reiniciamos nuestro servidor apache.

IIS (Versión 7)

En IIS la cosa es sencilla (Al estilo Microsoft) , primero probaremos si nuestro IIS tiene habilitada la característica de listado de directorio

image

En este caso podemos comprobar que si, por lo que iremos al panel de configuración de Internet Information Services (IIS) , para ello abrimos un explorador y colocamos la siguiente ruta: “Panel de control\Sistema y seguridad\Herramientas administrativas” , una vez echo esto , damos doble clic sobre “Administrador de Internet Information Services (IIS)” una vez en el Administrador nos ubicamos en el sitio en el que queremos evitar el listado de directorios, en este ejemplo es el Default Web Site.

image

 

Damos sobre clic sobre el icono image se abrirá la siguiente ventana:

image

Aquí daremos clic sobre la opción de deshabilitar :

 

image

Y listo 🙂 , con eso tendremos nuestro listado de directorios deshabilitado

image

 

Si queremos manejar los errores de nuestro servidor para personalizar nuestras paginas, podemos visitar los siguientes links:

http://www.psicobyte.com/html/taller/errores.html

 

Fuente:

Listado de archivos apache:

http://httpd.apache.org/docs/2.2/mod/core.html#options

http://www.respuestaexpress.com/566/seguridad-evitar-listado-directorios-varios-metodos/
http://sauaslp.wordpress.com/2011/01/04/ocultar-listado-de-archivos-en-iis/

Los códigos de estado HTTP en IIS 7.0 y 7.5 de IIS
http://support.microsoft.com/kb/943891

http://support.microsoft.com/kb/324064#6

Configuración básica de Apache.
http://www.alcancelibre.org/staticpages/index.php/como-apache
 
Proteger directorios en el Servidor
http://www.forosdelweb.com/f58/proteger-directorios-servidor-151498/

Anuncios

IIS Default Web Site– Cambiar puerto

Este post es algo sencillo y fue inspirado por un comentario en este blog. (Windows 7 , IIS 7)

Para modificar el puerto por default (80) del “Default Web Site” que es el sitio que se crea al instalar IIS debemos seguir los siguientes pasos:

 

1.- Panel de control->Sistema y seguridad->Herramientas administrativas , doble clic en Administrador de Internet Information Services (IIS).

 

image

 

2.- Dentro del Administrador de Internet Information Services (IIS) , navegamos hasta el “Default Web Site” .

 

image

3.- Del lado derecho en el panel de acciones presionaremos en la opción de Detener.

 image

4.- A continuación daremos clic en Enlaces

image

5.-  Seleccionamos la primer opción “http” y presionamos el botón Modificar

image

Cambiamos el puerto 80 por otro (ejemplo el puerto: 3000)

image

Damos clic en aceptar y en cerrar.

 

6.- Presionamos en Iniciar , para iniciar nuestro sitio.

 

image

Para asegurarnos que todo salió correctamente escribimos en nuestro explorador: http://localhost:3000 y nos mostrara la siguiente pantalla

 

image

Espero les sea de ayuda 😉

¿Cuando usar POST y cuando usar GET?

Diferencia de POST y GET

Muchas veces me han preguntado, cual es la diferencia de enviar formularios con POST y enviarlos con GET, pues una forma fácil de explicarlo es la siguiente:

GET

Envía los valores del formulario por la barra de dirección del navegador de forma visible, por ejemplo:

www.darkchicles.com/productos.php?cve_producto=1

 

POST

Envía los valores del formulario de forma oculta, desde el cuerpo de la pagina receptora se tendrán que leer los valores ejemplo:

www.darkchicles.com/productos.php

[ En la pagina receptora existirá alguna instrucción de la siguiente forma:

cve_producto = $_POST[‘cve_producto’]; ]

 

Aunque una vez que se entiende esta diferencia, nos surge la pregunta de ¿Cuando usar POST y cuando usar GET?, si al final hacen lo mismo. Pues bien en el twitter recomendaban este enlace The Definitive Guide to GET vs POST  y aunque el texto del autor me pareció un poco confuso, su imagen dice mas que mil palabras y me parece que esta perfectamente bien estructurada.

A continuación la replico para que podamos seguir el caminito de nuestras aplicaciones y así optimizarlas haciéndolas mas  seguras para nuestros usuarios.

Usar POST ó usar GET

 

image Imagen fuente:The Definitive Guide to GET vs POST

Acelerador Internet Explorer 8 – Paso a paso

Mas que paso a paso lo llamaría for dummies, pero para que quitar mas tiempo.. manos a la obra:

1.- Abrir Visual Studio y Crear un nuevo archivo 😉 Easy

image image


Categoría
: Web

Plantilla: HTML

 

 

2.- Insertamos un botón

image


Boton:
Input

 

 

 

Modificamos la propiedad value del boton:

image

Agregamos  un script onclick (llamaremos a un archivo XML):

image

image

 

(Guardaremos todos los archivos en una misma carpeta)
Guardamos: Acelerador_ML.htm

 

 

3.-Nuevo archivo XML 😉 Easy again

image

image

*En la misma carpeta donde guardamos Acelerador_ML.htm

Guardamos: mercadoL.xml

(obsérvese que tiene el mismo nombre que el archivo XML que mandamos a llamar con onclick)

Descargamos el Archivo DownloadOpenService XML Template.xml. Abrimos OpenService XML Template.xml con Visual Studio:

image
Seleccionamos todo el contenido de OpenService XML Template.xml COPIAMOS y PEGAMOS en mercadoL.xml.

Modificamos las etiquetas  de mercadoL.xml:

   1: <homepageUrl>http://www.mercadolibre.com.mx/</homepageUrl>

   2: <name>Busqueda de articulos en Mercado Libre</name>

   3: <icon>http://mx.geocities.com/sigma_advance/ML_icon.ico</icon>

   1: <activity category="Find">

   2: <activityAction context="selection">

   3: <execute action="http://listado.mercadolibre.com.mx/{selection}">

 imageimage

Explicando:

homepageUrl – URL de donde el Acelerador consumirá los recursos
name – Nombre del Acelerador

icon – Icono del Acelerador

activity category – Categoría del Acelerador (mejor conocido en ingles como Actividad)

activityAction context – Contexto de la acción de la actividad “en este caso quiere decir que al seleccionar una palabra en el explorador, active el acelerador”

execute action – Acción al ejecutar el Acelerador.

   1: <execute action="http://listado.mercadolibre.com.mx/{selection}">

Donde {selection} pasa a ser el texto seleccionado en el explorador y la url (http://listado.mercadolibre.com.mx/)  es la URL predefinida de mercado libre para búsqueda de artículos

 

4.- Para probar nuestro acelerador:

Creamos un nuevo Sitio Web en Visual Studio:

image

image

 

 

Seleccionamos un Sitio Web vacio y como ubicación seleccionamos la carpeta donde tenemos los dos archivos Acelerador_ML.htm y mercadoL.xml

 

 

image

Abrimos el Sitio Web Existente

 

 

 

 

 

image

Nuestros archivos quedan de la siguiente forma

 

 

 

 

 

image

Corremos nuestra Solución y abrimos el archivo Acelerador_ML.htm

Si todo funciona correcto, al precionar el botón aparecerá la siguiente ventana:image

Para jugar con nuestro Acelerador, Seleccionamos una palabra y damos clic en nuestro acelerador:

image

image

Cualquier duda, comentario, sugerencia mándame un correo darkchicles[ar]student-partners.com, pero de todas maneras dejo los archivos fuentes en un *.rar para que no tengais problema:

Archivo_zip Descargar Código fuente del ejemplo

Download Documento Word con imágenes paso a paso

page_white_link Vista previa del Acelerador “Demo”

Paginas PHP en Expression Web

Si al tratar de correr una pagina PHP en Expression Web nos aparece el siguiente error:

image 

Entonces tendremos que configurar nuestro servidor de PHP para que funcione con Expression Web.

Esto es muy fácil:

1.- Si no tenemos un motor dinámico PHP (Mas info) entonces descargamos la aplicación XAMPP

2.- Una vez instalada Abrimos Expression web y creamos una pagina llamada:

phpinfo.php

Colocamos el siguiente código:

   1: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   2: <html xmlns="http://www.w3.org/1999/xhtml">
   3: <head>
   4: <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
   5: <title>Sin título 1</title>
   6: </head>
   7: <body>
   8: <?php
   9: phpinfo();
  10: ?>
  11: </body>
  12: </html>

 

3.-En Expression Web damos clic en el menu Herramientas –> Opciones de Aplicación

image

y en la ruta colocamos la siguiente: C:\xampp\php\php-cgi.exe

Damos clic en Aceptar, Guardamos nuestra pagina y probamos image

Aparece el siguiente mensaje:

image

Presionamos en SI.

Y listo =) nuestra pagina PHP corriendo en Expression Web

image

Levantar Servidor Web PHP por módulos

Hace ya un rato que tengo estos documentos que realice…. sobre como levantar un servidor PHP en nuestra pc desde cero… y con módulos (instalación independiente de Apache,PHP y MySQL), como no quiero que mueran sin ser leídos los comparto con ustedes:

*Tienen explicación desde cero

*Tienen ilustraciones paso por paso

*Explicación a prueba de errores 😄

*Links a las paginas para bajar los programas

*Todo bajo un entorno de WINDOWS VISTA

Introducción a las páginas web dinámicas

Instalando el modulo de apache con PHP

Instalando MySQL

Y una sorpresa mas… 😄 si descubro como hacer mas pequeños los archivos de video que tengo por allí SUBIRE los video tutoriales de este articulo.

=) Si les gusto … comenten 😉 un poquito aunque sea…

Cambiar la codificación de caracteres en Postgres

Apenas me sucedió que al estar trabajando un sistema con JSP y PostgreSQL (v8.3) al tratar de generar y guardar un registro que tuviera un carácter latino (para ser preciso un acento [´] ), provocaba el siguiente error:

carácter 0xc293 de codificación «UTF8» no tiene equivalente en «WIN1252»

Esto era debido a la codificación de mi base de datos (se encontraba en WIN1252) por lo que tenia que cambiarla a UTF8 o bien LATIN1, busque información en google donde encontré el siguiente link que fue de gran ayuda. Basándome en la explicación del link anterior explico como cambiar la codificación desde pgAdmin II (aunque debe ser igual desde línea de comandos) , los pasos son los siguientes:

1.- Conocer los tipos de datos soportados por PostgreSQL los encontramos en: http://www.postgresql.org/docs/8.0/interactive/multibyte.html

2.- Basándonos en la tabla ejecutar el siguiente comando en la consola SQL

   1: update pg_database set encoding=8 where datname='mibd';


 image

Donde encoding se refiere al tipo de codificación en este caso el “8” corresponde a LATIN1 y datname es el nombre de nuestra base de datos a la cual le queremos cambiar la codificación (en este caso nuestra base de datos se llama mibd).

Para identificar el tipo de encoding correspondiente a su numero entero he creado la siguiente tabla:

N° de encoding

Name

Descripción

0

SQL_ASCII

ASCII

1

EUC_JP

Japanese EUC

2

EUC_CN

Chinese EUC

3

EUC_KR

Korean EUC

4

JOHAB

Korean EUC (Hangle base)

5

EUC_TW

Taiwan EUC

6

UNICODE

Unicode (UTF-8)

7

MULE_INTERNAL

Mule internal code

8

LATIN1

ISO 8859-1/ECMA 94 (Latin alphabet no.1)

9

LATIN2

ISO 8859-2/ECMA 94 (Latin alphabet no.2)

10

LATIN3

ISO 8859-3/ECMA 94 (Latin alphabet no.3)

11

LATIN4

ISO 8859-4/ECMA 94 (Latin alphabet no.4)

12

LATIN5

ISO 8859-9/ECMA 128 (Latin alphabet no.5)

13

LATIN6

ISO 8859-10/ECMA 144 (Latin alphabet no.6)

14

LATIN7

ISO 8859-13 (Latin alphabet no.7)

15

LATIN8

ISO 8859-14 (Latin alphabet no.8)

16

LATIN9

ISO 8859-15 (Latin alphabet no.9)

17

LATIN10

ISO 8859-16/ASRO SR 14111 (Latin alphabet no.10)

18

ISO_8859_5

ISO 8859-5/ECMA 113 (Latin/Cyrillic)

19

ISO_8859_6

ISO 8859-6/ECMA 114 (Latin/Arabic)

20

ISO_8859_7

ISO 8859-7/ECMA 118 (Latin/Greek)

21

ISO_8859_8

ISO 8859-8/ECMA 121 (Latin/Hebrew)

22

KOI8

KOI8-R(U)

23

ALT

Windows CP866

24

WIN874

Windows CP874 (Thai)

25

WIN1250

Windows CP1250

26

WIN

Windows CP1251

27

WIN1256

Windows CP1256 (Arabic)

28

TCVN

TCVN-5712/Windows CP1258 (Vietnamese)

Con esta tabla sabremos que numero corresponde a que codificación siendo así, por ejemplo si quisiera cambiar la codificación de mi tabla a UTF-8 tendría el siguiente código:

   1: update pg_database set encoding=6 where datname='mibd';

 

Como pueden ver es muy sencillo espero sea de utilidad, como lo fue para mi ;).

-.-. Los comentaros son motivos para continuar con el blog .-.-

Update de utilidad: Configuración actual del sistema para no tener problemas con acentos(´) ni eñes (ñ):

PostgreSQL: LATIN1

image

Dreamweaver: charset=iso-8859-1

image

Nube de etiquetas