En este video explico cinco razones principales por que deberias aprender a prograamr en Java, y espero te anime a seguir mi curso.
Autor: franklinrony
apasionado del blogin, estudiante de ingenieria en informatica
Instalar el JDK de Java en Windows
En este video aprenderás a instalar el JDK 7 de java en sistema operativo windows de 32 o 64 bits. Ademas se resuelve elproblema de comando javac no encontrado cuando no se añade el compilador al PATH del sistema
Muchas veces nos ha sucedido que tenemos un formulario de contacto en nuestro sitio pero de repente comienzan a llegarnos un monton de correos de spam, y todo por que no tenemos un método para minimizar que los bots spams envíen formularios de forma automatizada,si bien hay formas de como saltarse estos captchas, pero por lo menos disminuiremos la cantidad de correos de spam en nuestros buzones.
Explicare con un pequeño ejemplo como agregar el recaptcha al formulario y una vez validado lso datos envie un mensaje de felicitacion,que seria en lugar de enviar el correo electrónico, o un mensaje de error si algún dato no esta bien o no se resolvió correctamente el captcha.
Prerequisitios.
- una cuenta en google para poder hacer uso del recaptcha
- un servidor de pruebas(como wampp)
- libreria recaptcha(https://code.google.com/p/recaptcha/downloads/list?q=label:phplib-Latest)
Lo primero sera crear nuestro formulario de contacto,y luego lo validamos con otro script
El codigo del formulario es el siguiente recpatcha.php:
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Prueba Recatpcha</title><style type=”text/css”>
<!–
.formulario {
padding: 2px;
width: 400px;
margin-top: 5px;
margin-right: auto;
margin-bottom: 5px;
margin-left: auto;
}
#form1 label {
display: block;
}
–>
</style>
</head><body>
<form action=”validar.php” method=”post” name=”form1″ class=”formulario” id=”form1″>
<label>Nombre:</label><input name=”nombre” type=”text” />
<label>Edad:</label><input name=”edad” type=”text” />
<label>Asunto:</label><textarea name=”asunto” cols=”40″ rows=”5″></textarea>
<br />
<!–Codigo mostrar repacatcha –>
<?php
require_once(‘rutalibreria/recaptchalib.php’);
$publickey = “tupublickey”; // you got this from the signup page
echo recaptcha_get_html($publickey);
?>
<input name=”enviar” type=”submit” value=”Enviar” />
</form>
</body>
</html>
El codigo es el de un formulario normal salvo donde esta el comentario en html del codigo solo debes cambiar dos cosas, en la funcion requiere_once debes colocar la ruta donde descomprimiste la libreria de recaptcha, de preferencia en una carpeta llamada lib para mejor orden, y la clave publica la cual obtienes cuando te logueas con tu cuenta de google en este sitio
https://www.google.com/recaptcha
copiar las dos claves publica y privada
luego creamos otro archivo,llamado validar.php con el que comprobaremos los datos introducidos antes de enviarlos
<?php
require_once(‘rutalibreria/recaptchalib.php’);
$privatekey = “tuclave”;
$resp = recaptcha_check_answer ($privatekey,
$_SERVER[“REMOTE_ADDR”],
$_POST[“recaptcha_challenge_field”],
$_POST[“recaptcha_response_field”]);
if(empty($_POST[‘nombre’])){
echo ‘No ha ingresados tu nombre’;
echo ‘<br />’;
}
if(empty($_POST[‘nombre’])){
echo ‘No ha ingresados u nombre’;
echo ‘<br />’;
}
if(empty($_POST[‘asunto’])){
echo ‘No ha ingresados el asunto’;
echo ‘<br />’;
}
//comprobando solucion de captcha
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die (“The reCAPTCHA wasn’t entered correctly. Go back and try it again.” .
“(reCAPTCHA said: ” . $resp->error . “)”);
} else {
// Your code here to handle a successful verification
echo “Good job,you solve the captcha”;
}?>
en negrita marque la parte mas importante del codigo,lo demas es una validacion normal de los otros campos del formulario, observa que en el archivo validar es donde pegamos la clave privada ya que son valores que no estaran accesible a los usuarios y en la parte de presentacion(recaptcha.php) dejamos la clave publica, al final nuestro formulario debera verse asi
y debera mostrar este texto,sino escribes correctamente el recpatcha
The reCAPTCHA wasn’t entered correctly. Go back and try it again.(reCAPTCHA said: incorrect-captcha-sol)
cabe aclarar que solo presento la idea general del concepto de como agregar un caprcha a un formulario, pero te puede servir de base si quieres mejorarlo.
Si tienen comentarios o sugerencias para este articulo pueden hacerlas aqui.
Por defecto el cpanel no trae habilitado la opcion para instalar el mod de pagespeed, el cual sirve para optimziar la carga de nuestro sitio web aplicando algunas reglas preconfiguradas. En este tutorial les explicare de forma breve como hacerlo.
Prerequsitos
- Tener putty
- Tener acceso al servidor como root o permisos para instaalr paquetes
- tener el whm,no solo cpanel
primero debemos loguearnos desde consola y teclear el siguiente comando wget http://prajith.in/scripts/mod_pagespeed-cust-opts.tar.gz, para descargar el paquete que se agregara al panel.
Descomprimir el apquete con el siguiente comando tar -C /var/cpanel/easy/apache/custom_opt_mods -xzf mod_pagespeed-cust-opts.tar.gz
Eso es todo! una vez hecho eso deberas recompilar nuevamente apache y php,seleccionando el modulo de pagespeed
deberas esperar unos 30 o 40 minutos ya que se recompila todo desde cero,si tienes problemas de memoria puedes ejecutar desde consola este comando /scripts/easyapache para no usar la interfaz grafica
Espero les haya sido de utilidad,cualquier dua haganla en los comentarios
En este video tutorial aprenderemos como instalar apache2,php y mysql en un vps no administrado, seguiremos utilizando la maquina virtual. Ademas aprenderemos lo siguiente:
-Como verificar el estado de un servicio en debian
-Como instalar un paquete en debian
-Como reinciiar un servicio
-Arreglar problemas de conexión de red entre host y huésped en la maquina virtual
-Como hacer para que apache reconozca los archivos con extension php y no los descargue desde el navegador.
Descargar guia 2:
Video:
Bien les dejo el primer video de la serie: Administracion de VPs para dummies,util si no sabes como administrar un vps y por cuestiones del destino se te ha encomendado esa labor(me incluyo )
Sin embargo no hay nada mejor cuando las cosas van bien,asi que les comparto mi experiencia administrando servidores,si bien no soy un experto,pero ya puedo hacer un par de cosas basicas.
Estos videos te seran de utilidad si:Eres usuario 100% de windows,nunca has administrado un vps, o si tienes un vps no administrado.
El primer video es mas bien como instalar debian en una maquina virtual,espero les guste
en las ultimas horas se ha corrido como pólvora un bug en el protocolo openssl,el cual podría ser aprovechado por atacantes para acceder a 64kb de memoria y dar al posibilidad de robar informacion como claves publicas y contraseñas, si bien ya hay una actualización que corrige el error, pueda que muchos encargados de administrar su servidor no sepan como hacerlo,no todos somo del departamento de TI, asi que les dejo una guia facil de como actualizar la librería openssl a 1.0.1g,
Según estuve leyendo openssl es una libreria que viene en el kernel del sistema,por lo cual no habria que reescribir los archivos,ya que podria acarrear problemas posteriores,en su lugar lo instalaremos en otra carpeta y modificar el archivo profile para que cargue la ultima version.
Comencemos.
Primero debemos verificar si tenemos una versión de openssl vulnerable
Luego vamos a descargar los sources a nuestro servidor
descomprimimos el fichero con tar xvfz
luego hacemos el cambio de directorio cd libreriaopenssl
Luego configuramos los path con ./config
escribimos lo de siempre make
luego make test
si todo va bien ya podemos instalar con make install
y Luego debemos cambiar nuestro archivo profile para que coja el nuevo path,editamos con nano /etc/profile y agregamos esta linea /usr/local/ssl/bin donde esta el if
volvemos a cargar nuestro profile source ~/.profile
y verificamos que se ha actualizado la librería openssl version
Espero les haya servidor y no lo dejen para ultima hora,ya que este bug es critico
Directorio public html por defecto proftpd
Bueno quiza muchos lo pasen desapercibido, pero este problema se nos presenta a muchos administradores de servidores que debemos aprender a prueba y error. El problema conciste en que luego de haber instalado el proftpd y entrar con el usuario asignado al dominio, resulta que subimos de directorio podemos ir explorando todo el arbol de directorios del sistema, no solamente la carpeta public_html o htdocs como deberia ser. Si bien pueda que el usuario no pueda borrar mas alla de la carpeta que tiene asignada,igual no es lo recomendable. en este tutorial les explicare como hacer para “enjaular” al usuario en su carpeta public_html asignada.
Requisitos previos:
Tener un programa como putty,si usas windows, para poder loguearte via ssh.
tener acceso como root al servidor.
Bien comencemos
- Logueado como root en el sistema debemos editar el archivo proftpd.conf con algun editor como nano o vim. en debian 6 se encuentra en /etc/proftpd/proftpd.conf. ejecutamos el comando nano /etc/proftpd/proftpd.conf.
- Buscamos una linea que dice DefaultRoot,si tiene un comentario(#) se lo quitamos y como queremos que sea para cada usuario su propia carpeta public_html damos dos tabulaciones y escribimos ~/public_html.85.17.254.112
- Luego cerramos el archivo con ctrl+x,si nos pregunta si queremos guardar cambios damos que si(Y) y luego enter para reescribir el archivoguardar cambios
- Reiniciamos el servicio con service restart proftpd.
- Ahora cada vez que quieras subir de nivel te dejara siempre en el raiz de la carpeta public_html de tu usuario
Quiza algunos que usen cpanel o en su host tengan como servidor ftp s hayan topado con que al instalar el fail2ban no aparece una regla(jail) de baneo para ese servicio la verdad es que el fail2ban es muy facil de usar y configurar,solo es de saber la ubicacion del archivo del log del servicio a agregar y el mensaje de error a monitorear para que se aplique la regla, en el caso de que quierana gregar un jail les dejo el codigo
Primero en el archivo jail.conf agregar las siguientes lineas
[highlight][pure-ftpd]
enabled = true
port = ftp
filter = pure-ftpd
logpath = /var/log/messages
maxretry = 3
[/highlight]
el path por defecto de los logs de error es /var/log/messages asi que solo modifquenlo si su panel cambio la estructura de directorios como en cpanel, luego hay que crear la jail en el directorio filter.d en mi caso ya habia una jail para el pure ftp si no la tienen se las dejo adjunto en el post solo deben copiarla en la mencionada carpeta.
luego escribimos service fail2ban restart y con eso podemos tener monitoreado el logueo y banneo en nuestro servidor ftp
Instalar mod security en VPS
Instalar mod security
Aprenderemos a compilar por nuestra propia cuenta la ultima versión del modsecurity en debian 6,esto es por que en los respositorios de debian 6 esta un poco desactualizados con la version del paquete,la ultima version es la 2.5.6
Requisitos previos
winscp (para editar mas facilmente los archivos de configuracion)
putty
cuenta de root o acceso privilegiado via ssh
ejecutar en consola el siguiente comando
[highlight]wget https://www.modsecurity.org/tarball/2.7.7/modsecurity-apache_2.7.7.tar.gz[/highlight]
descompimimos los archivos con
[highlight]tar xvfz modsecurity-apache_2.7.7.tar.gz[/highlight]
ingresamos al directorio que acabamos de descomprimir
[highlight]cd modsecurity-apache_2.7.7[/highlight]
este mod tiene la ventaja que hace el proceso de configuracion sin mayor intervencion del usuariosolo basta ejecutar
[highlight]./autogen.sh[/highlight]
si te sale este error debes instalar las librerias que faltan
[highlight]apt-get install libtool autoconf libaprutil1 libaprutil1-dev libxml2 libxml2-dev libxml2-utils[/highlight]
luego seguimos el procedimiento normal de instalacion de paquetes binarios en linux. Ejecutar
[highlight]./configure[/highlight]
si te sale que no haya el apxs debes instalar la dependencia correspondiente
[highlight]apt-get install apache2-dev[/highlight]
corremos de nuevo el ./autogen.sh y ./configure make make install
con eso hemos terminado la parte de rutina,para cerciorarnos de que esta instalado vamos a la ruta
[highlight]/usr/lib/apache2/modules[/highlight]
y debe estar el mod_security2.so
ahora cargamos el modulo en apache,para ello con el winscp vamos hacia /etc/apache2/mods-available
y crearemos un nuevo archivo
le pondremos para identificarlo mas facil como security2.load y le pondremos el siguiente contenido
[highlight]LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so[/highlight]
activamos el modulo desde linea de comando con
[highlight]a2enmod security2[/highlight]
reiniciamos el servidor de apache para que se cargue en memoria el modulo
[highlight]service apache2 restart[/highlight]
el modsecurity tiene un monton de reglas prefabricadas que podemos utilizar.
hacemos
[highlight]cd /etc/apache2[/highlight]
y bajamos el zip con las reglas
[highlight]wget https://github.com/SpiderLabs/owasp-modsecurity-crs/zipball/master[/highlight]
descomprimimos
[highlight]unzip mastery[/highlight]
con el winscp damos en refresh y renombramos el directorio a por ejemplo crs,
ingresamos al directorio y renombramos el achivo modsecurity_crs_10_setup.conf.example a modsecurity_crs_10_setup.conf
subimos el siguiente fichero de configuracion adjunto(modsecurity.conf) al directorio apache2,deberas tener la siguiente estructura de directorios
ahora ediaremos el archivo de configuracion de apache para que tome la configuracion del mod security,para el caso de debian puede ser apache2.conf agregamos estas lineas al final
[highlight]#Configuracion ModSecurity
Include crs/modsecurity_crs_10_setup.conf
Include crs/activated_rules/*.conf
Include modsecurity.conf
[/highlight]
reiniciamos apache y con eso deberia estar instalado,en proximos post les explicare como probar el funcionamiento del mod y agregar las reglas