Un WHOIS para nic.ar

A quién no le ha pasado? Buscar un nombre de dominio para un sitio propio, o de un cliente. Una idea o proyecto.
Tarde o temprano terminamos en algún proveedor que nos permite buscar dominios. Probamos a ver que hay libre. Alguno si, otro no. Tal nombre que nos gusta está registrado.. quizás en venta pero “no muy caro” y jugamos con la idea de comprarlo igual. Seguimos buscando quizás hay uno parecido disponible.

La búsqueda no deja de tener su cuota de entretenimiento y emoción, siempre y cuando se trate de dominios .com, .co, .tv, .io o básicamente cualquier extensión de dominio que no sea com.ar.

Buscar dominios en nic.ar es una odisea. Pareciera que históricamente se han esforzado para que sea dificil. Recientemente se están esforzando en que registrar también sea dificil, pero eso es otro capítulo.

Para nosotros los proveedores es un problema. Queremos que nuestros clientes y usuarios puedan investigar y elegir qué dominios usar, y nic.ar no provee herramientas para poder integrar el proceso. Hay que entrar al sitio, atravesar el CAPTCHA que valida que quién consulta sea realmente un humano -cada vez-, por cada dominio que queremos indagar.

En el pasado hemos buscado formas de “facilitar” esto a nuestros usuarios. En versiones viejas del sitio de nic.ar podíamos simular un browser, y automatizar el proceso de registración enviando correos a nombre del registrante. Luego vinieron cambios y un captcha (quién de ustedes no recuerda aquél captcha imposible de leer?). Había un límite de conexiones por IP, que salvamos utilizando una clase C completa para hacer consultas. El captcha? Lo pasabamos por algo parecido a https://anti-captcha.com/, básicamente personas resolvian el captcha a través de un API.

Luego vino el “I’m not a Robot” actual, más dificil de saltear. Y el requerimiento de Clave Fiscal nivel 3, con lo cual nos empezamos a despedir de nuestras ilusiones de poder realizar registros automáticos para facilitarnos la vida a todos.

Pero no todo está perdido!

Recientemente, trabajando en las nuevas versiones de nuestros sitios web de LatinCloud, empezamos a buscar soluciones a este problema.
Jugamos con la idea de simular un Whois apoyándonos sobre el excelente trabajo del equipo de Open Data Córdoba, aunque desde hace un tiempo que el sistema no está operativo.
Lo que hicieron los chicos de ODC fue procesar todos los días la información de registros del boletín oficial, y con ello ir armando su base propia de dominios. Esto permitiría armar un Whois para poder consultar -con cierta precisión- cuales dominios están registrados y cuales disponibles.

También pensamos en simplemente generar una interfaz web que haga consultas DNS hacia athea.ar y otros DNS de nic.ar. No tendríamos más info que “existe o no”, sin ningún dato de fechas de vencimiento o similar, pero estamos hablando de nic.ar.. algo es algo!

Por suerte contamos con gente curiosa y terca en nuestro equipo, que en un momento de -llamemoslo genialidad- (calentura) al grito de “no puede ser que no tengan un whois!!!”, descubrió que de golpe, nic.ar TIENE un Whois. Aplausos a Fernando Cappiello por el hallazgo.

Leyeron bien. Tiene un Whois. No está publicado, ni anunciado por lo que sabemos, pero está y funciona. Nos abrazamos y entre lagrimas festejamos que luego de 20 años nic.ar, implementó un servicio de Whois.

Quién tenga una consola Linux a mano (si llegaron hasta acá en esta nota, tienen), puede probarlo ya mismo.
whois -h whois.nic.ar DOMINIO.COM.AR

% La información a la que estás accediendo se provee exclusivamente para
% fines relacionados con operaciones sobre nombres de dominios y DNS,
% quedando absolutamente prohibido su uso para otros fines.
%
% La DIRECCIÓN NACIONAL DEL REGISTRO DE DOMINIOS DE INTERNET es depositaria
% de la información que los usuarios declaran con la sola finalidad de
% registrar nombres de dominio en ‘.ar’, para ser publicada en el sitio web
% de NIC Argentina.
%
% La información personal que consta en la base de datos generada a partir
% del sistema de registro de nombres de dominios se encuentra amparada por
% la Ley N° 25326 “Protección de Datos Personales” y el Decreto
% Reglamentario 1558/01.

domain:         elserver.com.ar
registrant:     30707447504
registrar:      nicar
registered:     1999-08-11 00:00:00
changed:        2017-01-09 10:36:28.779889
expire:         2017-09-10 00:00:00

contact:        30707447504
name:           ELSERVER SRL
registrar:      nicar
created:        2013-08-21 00:00:00
changed:        2017-01-09 10:36:27.753260

nserver:        ns3.elserver.com ()
nserver:        ns2.elserver.com ()
nserver:        ns4.elserver.com ()
nserver:        ns1.elserver.com ()
registrar:      nicar
created:        2016-06-30 23:15:36.651652

También lo integramos a nuestro CloudAPI por lo que puede consultar dominios con con JSON directamente desde Javascript en: https://cloudapi.elserver.com/domain/whois/?domain=XXXXXX.COM.AR (o .COM o lo que quieran) por ejemplo https://cloudapi.elserver.com/domain/whois/?domain=elserver.com.ar

Creemos que lo van a lanzar en breve. Esperamos que sea así. Mientras tanto y suponiendo que no lo bajan, a sacarle provecho!

Compartí este artículo

Conociendo Laravel: el framework que revolucionó PHP

Laravel

Si siguen ahí después de leer el título quiere decir que todavía no perdieron las esperanzas de encontrar un buen Framework en PHP.

La discusión entre “framework si” o “framework no” es larga y creo que los fundamentos más fuertes de los detractores se basan en las opciones disponibles de hoy en día. Pero en algún momento nos vemos en la necesidad de no reinventar la rueda, sobretodo cuando tenemos que implementar acciones comunes (friendly URLs, manejo de sesiones, manejo de base de datos, etc).

Es por eso que quería hablar de Laravel, un framework que viene tomando mucha fuerza en los últimos meses largos y con el lanzamiento de su version número 4 se posiciona como una opción más que interesante para explorar.

En esta nota vamos a repasar sus puntos fuertes y en notas posteriores ver algunos ejemplos prácticos de como usarlo y los beneficios que tiene.

(more…)

Compartí este artículo

Login con Facebook para tu sitio

A veces necesitamos obtener los datos del usuario de nuestra aplicación, por ejemplo, para que se suscriba a nuestro newsletter o que encargue un producto de nuestra tienda online. Lo normal es que complete un formulario con su nombre, apellido, email, fecha de nacimiento… Pero, ¿no sería mejor obtener esos datos y más directamente desde su cuenta de Facebook?

Hoy vamos a aprender a usar Facebook Login: una herramienta para que nuestras visitas puedan ingresar a nuestro sitio con su cuenta de Facebook. Vamos a tomar como ejemplo una tienda online y utilizar un poco de HTML, Javascript y jQuery; por lo que es un ejercicio perfecto para principiantes. ¡Adelante!

1. Creamos la aplicación en Facebook

El primer paso es crear una aplicación en Facebook con los datos de nuestro sitio. Para eso ingresamos en el Facebook App Dashboard y hacemos click en “Crear nueva aplicación”.

Vamos a completar el siguiente formulario, donde indicamos:

  • El nombre de la app (por ejemplo, Beta Shop)
  • La URL en Facebook (por ejemplo, facebook.com/beta_shop)
  • Y la categoría (por ejemplo, Compras)

Facebook App

No se preocupen mucho por estos datos. Si bien son requeridos no son vitales para lo que vamos a implementar. Lo más importante es el nombre que elegimos, para que nos represente bien.

A continuación, veremos la configuración general de nuestra aplicación. Como queremos utilizar Facebook Login, vamos a completar dos cosas:

  • En App Domains, escribimos el dominio de nuestra web (por ejemplo, betashop.com.ar)
  • Y en URL del sitio, ingresamos la URL completa (por ejemplo, http://betashop.com.ar)

Facebook App

El resto de la configuración pueden dejarla tal como está, no necesitamos nada más.

Bien, esto nos vá a servir para obtener una Application ID: un código que identifica nuestra aplicación en Facebook y que nos va a permitir utilizar su API.

Facebook App

Lo copiamos y pasamos al paso siguiente: programar el login en nuestro sitio.

2. Manos al código

Creamos el HTML

Vamos a crear una página HTML muy sencilla. Ponemos un mensaje para que el usuario sepa que para continuar debe loguearse con Facebook.

<p>Iniciar sesi&oacute;n con Facebook:</p>

Luego, insertamos un botón de Facebook, con esta sintaxis particular:

<fb:login-button perms="email,user_birthday"></fb:login-button>

Esto no es HTML si no XFBML, una sintaxis especial que nos permite insertar en nuestras páginas botones y elementos funcionales de la interfaz de Facebook. Si se fijan, la propiedad perms incluye email y user_birthday, para pedirle permiso al usuario a obtener estos datos adicionales. Ya veremos pronto como todo esto se pone en acción.

Cargamos las librerías

Como vamos a utilizar jQuery, vamos a incluirlo desde su CDN.

<script src="//http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>

Y vamos a utilizarlo para cargar de forma asincrónica el Facebook Javascript SDK que, como su nombre lo indica, sirve para poder utilizar las funciones de Facebook desde Javascript.

$.ajax({
  url: '//connect.facebook.net/es_ES/all.js',
  dataType: 'script',
  cache: true,
  success: function() {
    alert('Facebook listo');
  }
});

Si vimos el mensaje, entonces tanto jQuery como la librería de Facebook cargaron perfectamente.

Por ahora, entonces, el código es el siguiente:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>Beta Shop</title>
</head>
<body>
<p>Iniciar sesi&oacute;n con Facebook:</p>
<fb:login-button perms="email,user_birthday"></fb:login-button>
<script src="//http://codeorigin.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(function() {
  $.ajax({
    url: '//connect.facebook.net/es_ES/all.js',
    dataType: 'script',
    cache: true,
    success: function() {
      alert('Facebook listo');
    }
  });
});
</script>
</body>
</html>

Y ahora, el API de Facebook

Después de tanta preparación, es hora de ponerlo en marcha. Lo hacemos con la función FB.init, seteando los siguientes parámetros:

FB.init({
  appId: '180901918757485',
  xfbml: true
});

En appId ingresamos el identificador de nuestra app, y con xfbml en true habilitamos el uso de botones y otros elementos de Facebook, como el botón del que hablamos antes.

A continuación, vamos a suscribir nuestro script al evento auth.authResponseChange, que se dispara cada vez que la página cargue o se complete un login.

Si obtenemos una respuesta satisfactoria, mostramos el mensaje “Usuario conectado”:

FB.Event.subscribe('auth.authResponseChange', function(response) {
  if (response && response.status == 'connected') {
    alert('Usuario conectado');
  }
});

Si vemos ese mensaje, entonces significa que el usuario se ha autenticado y otorgado a nuestra aplicación el permiso para obtener sus datos.

Entonces, tenemos el permiso, pero… ¿cómo obtenemos los datos? Utilizando el API de Facebook con la función FB.api. Le pasamos dos parámetros:

  • La URL de la llamada a consultar, en este caso /me para obtener los datos del usuario logueado
  • Y el callback a ejecutar sobre los datos recibidos

Es decir:

FB.api('/me', function(data) {
  alert('Nombre: ' + data.name);
});

¿Que es data? La respuesta del servidor, un JSON con todos los datos del usuario. Así como el nombre, obtuvimos el apellido, el ID y todos los datos que el usuario haya hecho públicos, como su lugar de residencia o puesto laboral. Y también su fecha de nacimiento y dirección de email, por los permisos adicionales que pedimos.

Entonces, data será algo como:

{
  "id": "100003337804280",
  "name": "Juan Sequeira",
  "birthday": "01/02/1985",
  "gender": "male",
  "link": "https://www.facebook.com/juansequeira",
  "email": "juansequeira@hotmail.com"
}

Perfecto, tenemos el código completo:

$(function() {
  $.ajax({
    url: '//connect.facebook.net/es_ES/all.js',
    dataType: 'script',
    cache: true,
    success: function() {
      FB.init({
        appId: '280437052062374',
        xfbml: true
      });
      FB.Event.subscribe('auth.authResponseChange', function(response) {
        if (response && response.status == 'connected') {
          FB.api('/me', function(response) {
            alert('Nombre: ' + data.name);
          });
        }
      });
    }
  });
});

Ahora sólo nos queda probar si funciona.

3. ¡Login!

Vamos a ver si todo marcha tal como lo esperamos. El usuario va a ver en nuestra página:

login01

Al hacer click en “Entrar”, se abre una ventana pop-up como la siguiente:

login02

Ingresa en su cuenta de Facebook y decide si acepta a nuestra aplicación, Beta Shop.

login03

Luego de aceptar, se dispara el evento que habíamos programado: obtener sus datos y mostrar su nombre en pantalla.

login04

¡Hecho!

En resumen

Facebook Login es una excelente opción para obtener los datos de tus visitantes, sin obligarlos a llenar formularios, verificar su cuenta de correo y todas esas cosas engorrosas.

En un click, el usuario ya está utilizando nuestro sitio y nosotros tenemos toda la información que necesitamos, para guardarla, analizarla y personalizar su experiencia en nuestra aplicación.

Incluso, podemos pedir permisos más avanzados para obtener su listado de amigos o publicar en su muro. Facebook ofrece herramientas muy poderosas, pero… todo poder conlleva una gran responsabilidad, no usen esos datos de forma irresponsable. El usuario confió en nosotros, sus datos deben ser bien cuidados.

En próximas ediciones, vamos a ver cómo hacer todavía más con el API de Facebook. ¡Nos leemos pronto!

Compartí este artículo

mailwing

Todos nos hemos encontrado con la necesidad de hacer un envío masivo de mails en alguna oportunidad, ya sea que lo necesitemos como herramienta permanente para nuestro trabajo, o que simplemente querramos enviar una notificación a nuestros contactos o amigos de vez en cuando.

Con esto en mente, desarrollamos una herramienta para hacer esa tarea lo más sencilla posible: Mailwing

¿Qué buscamos lograr con Mailwing?

Primero y principal, que sea una herramienta que esté a mano de forma inmediata. Cualquier cliente de ELSERVER.COM puede ingresar a http://www.mailwing.net, ingresar sus datos de SSO y comenzar a probarlo. Así de sencillo.

Nuestro plan trial es GRATIS y ya está habilitado para todos nuestros clientes: permite cargar 500 contactos y realizar hasta 4 envíos.

La definición de los planes comerciales para ampliar esa capacidad estará disponible en nuestro sitio para que pueda ser contratado online, con planes de envíos ilimitados.

A continuación, algunos de los aspectos fundamentales de la herramienta:

Generador HTML Online

16-campaign-create-content

18-campaign-template-newsletter

La principal limitación a la hora de realizar un envío es como generar el contenido. No todos tenemos acceso a un diseñador web para generarlo y hacerlo sin saber puede ser bastante catastrófico. Mailwing cuenta con un editor HTML desarrollado para que puedas armar el contenido que quieras sin ningún tipo de conocimiento de manera muy práctica. Templates predefinidos, posibilidad de modificar todos los elementos, bloques de uso frecuente (social media, texto, productos, etc.), opciones avanzadas, crop automático de imágenes, y mucho más.

Stay tunned para la versión 1.1 del editor ;)

Velocidad en los envíos

De nada sirve enviar un mail de fin de año y que llegue el 3 de Enero. Por eso la velocidad de envío es otro de los aspectos fundamentales de la herramienta. Hace click en enviar y nosotros nos encargamos de que llegue de forma casi inmediata.

SPAM check

Validación de SPAM en tiempo real de tu contenido. Para evitarte problemas, procesamos tu newsletter con SpamAssassin para avisarte si vas a ser considerado como SPAM. Te avisamos cuál es tu score y qué deberías ajustar para que tu correo llegue a destino sin problemas.

Estadísticas

39-stats-dispositivos

37-stats-rendimiento-detalle

35-stats-aperturas-y-clicks

Estadísticas en tiempo real sobre tus envíos: Cantidad de aperturas, clicks, desuscripciones, rebotes, sistemas operativos (mobile/desktop), navegadores, a que links se accedieron, entre otras opciones.
Toda esta información te va a ayudar a mejorar la tasa de apertura y de clicks de tus envíos.

Importación masiva de contactos

Cargá contactos desde un csv/txt masivamente para mayor comodidad, y categorizalos a todos juntos para identificarlos. Próximamente más vías de importación.

Etiquetá tus contactos

Manejo de etiquetas para poder filtrar contactos y segmentar mejor tus envíos. Creá todas las categorías que quieras y simplemente etiquetá tus contactos al momento de importarlos.

Estas son solo algunas de las características de esta aplicación. Pero lo más importante es que es muy fácil de usar.

Entrá ya a probarlo y contanos qué te parece.

Compartí este artículo

Fuentes de íconos: por qué son geniales

iconfont

¿Qué sucede si en nuestro sitio tenemos muchos íconos pequeños? No es conveniente guardar cada uno como una imagen, porque cuantas más peticiones haga nuestro sitio, más lenta será su carga.

Una buena opción es juntar todos los íconos en una sola imagen y generar un sprite. Esta técnica sigue siendo ampliamente utilizada y es la mejor opción para íconos de muchos colores.

Pero desde que los navegadores populares adoptaron los standares de CSS3, hay una nueva posibilidad: utilizar una fuente de íconos, donde cada caracter representa un ícono diferente.

Esta opción tiene muchas ventajas:

  • Con un solo pedido HTTP, obtenemos el archivo de la fuente y por ende todos los íconos.
  • Al ser caracteres, podemos aplicar a estos íconos todos los estilos que aplicamos al texto normal: cambiarles el color, agregarles sombras, animarlos… todo desde CSS, sin necesidad de editar imágenes.
  • Podemos cambiarles la opacidad y rotarlos, tal como lo hacemos con los íconos comunes.
  • Y podemos utilizarlos en cualquier tamaño sin perder calidad, porque los caracteres de la fuente se renderizan como vectores. Ideal si nuestro sitio tiene que ser adaptable o retina-ready.

Bastante bien, ¿no? Hoy vamos a ver cómo utilizarlos.

Cómo utilizarlos

Si bien podemos crear nuestra propia fuente de íconos y generar desde cero el CSS para utilizarla, lo más común es que utilicemos una de las opciones ya disponibles.

Por ejemplo, Font Awesome. Este paquete de íconos está especialmente pensado para utilizar junto con Boostrap, pero puede ser utilizado también de forma independiente.

Tiene más de 360 íconos variados listos para usar. Cada ícono se asocia a una clase que podemos aplicar en nuestro HTML de la siguiente forma:

<i class="icon-cart"></i> Usuario

De esta forma, obtendremos:

user

¿Qué tal si necesitamos una botonera? Ponemos Bootstrap en acción y hacemos:

<button class="btn">
	<i class="icon-star"></i> Agregar a favoritos
</button>
<button class="btn">
	<i class="icon-share"></i> Compartir
</button>
<button class="btn">
	<i class="icon-gear"></i> Configuración
</button>

… para obtener:

toolbar

Por supuesto, no sólo son útiles en botones y links. Pueden formar parte del encabezado de nuestro sitio:

icon-header

Para este ejemplo, creamos una clase especial que le otorga fondo naranja y bordes redondeados al div que contendrá nuestro ícono.

.rounded {
	font-size: 30px;
	background: orange;
	border-radius: 1em;
	color: white;
	text-align: center;
	padding: 0.2em;
	height: 1.5em;
	float: left;
}

El HTML, entonces, nos quedaría así:

<div class="rounded">
	<i class="icon-file"></i>
</div>
<h1>File Manager</h1>

Con ese mismo concepto y dando un color diferente a cada contenedor, podemos utilizarlos como enlaces a redes sociales:

icon-social

Con este HTML:

<div class="rounded" style="background-color: #3b5998;">
	<i class="icon-facebook"></i>
</div>
<div class="rounded" style="background-color: #598dca;">
	<i class="icon-twitter"></i>
</div>
<div class="rounded" style="background-color: #d6492f;">
	<i class="icon-google-plus"></i>
</div>

Como ven, si bien los íconos logrados con una fuente son monocromáticos, podemos darles estilo para que se adapten a nuestro diseño tan bien como los íconos de imágenes.

Conclusión

Aparte de Font Awesome, hay muchas otras librerías: Pictos, Entypo, Fico y muchas más. Incluso podés armar tu propio pack mezclando varias fuentes en Fontello o IcoMoon.

Estos packs son una opción muy conveniente y fácil de implementar siempre que necesitemos íconos comunes. ¡Espero que les sirvan!

Compartí este artículo

Jugá con nuestras Apps

Te invitamos a conectar con tu niño Geek interior. Nuestra propuesta es: jugando.

Te invitamos a jugar con nuestra nueva app: Mailwing

En algunas semanas más estaremos lanzando Mailwing y te invitamos a que la uses y pruebes sin cargo.
¿Qué es Mailwing? Es nuestra nueva herramienta de email marketing para que llegues a tus clientes con comunicaciones simples, rápidas y seguras. Una solución al alcance de todos.

Mailwing

Y decimos esto porque trabajamos con tres cosas en mente: que sea simple, rápida y segura.

Simple porque te da todo lo que necesitas para crear, enviar y monitorear tus campañas de mails, newsletter o anuncios de forma rápida: creas tu campaña en sólo 4 pasos. Además te damos la máxima velocidad para enviarla y garantía de entrega en la Bandeja de Entrada. Y algo no menor: tomamos todos los recaudos para que te sientas seguro. Tu información, tus campañas y tus contactos son tuyos y de nadie más. No hay nada que valga más que tu privacidad y la seguridad de tus datos.

La herramienta aún está en etapa de Beta Testing, es decir que si bien está funcional, puede tener algunos bugs y es preciso seguir haciendo testeos para detectarlos y corregirlos. Y acá nuestra propuesta: El domingo, decile a tu niño geek que se cope probando la herramienta. Queremos que jueguen, que la adoren y que la critiquen (constructivamente). El punto es que todos aprendamos en el proceso.

Aclaraciones MUY importantes:
  • El producto está en BETA, esta no es la versión final y, como dijo Tu Sam, “puede fallar”
  • Esta versión te permite realizar hasta 4 envíos a 500 contactos. Usalos sabiamente.
  • Nos tenés que escribir a info@elserver.com para que te demos acceso.

¿Qué opinás? ¿Querés jugar a testear Mailwing con nosotros?

Si la respuesta es SÍ, escribinos a info@elserver.com y te habilitamos la beta privada.

Pero… ¿qué podes hacer con Mailwing?

Te contamos algunos de sus características principales:

  • Crea campañas en forma intuitiva y sencilla. una interfaz limpia y amigable te ayuda a crear y enviar campañas de email marketing de forma fácil y rápida.
  • Armá y editá tu pieza en línea
  • Creá tags para tus contactos
  • Administrá tus contactos
  • Social marketing
  • Reportes en tiempo real
  • Programá tu campaña
  • Login multidispositivoI
  • Integrado automáticamente a tu panel de control y con la misma configuración de cuentas, ya podes mandar tus mails por Mailwing.

Si querés ver más, escribinos y empezá a probarlo!

Y FELIZ DÍA DEL NIÑO :D

Compartí este artículo

Si sos revendedor, sabés lo importante que es ofrecer una experiencia personalizada a tus clientes. Ya te contamos cómo hacer que Kinto, el nuevo Panel de Control, se adapte a la imagen de tu marca. Hoy te mostramos cómo hacer una pantalla de login, para que tus clientes ingresen a sus cuentas desde tu propio sitio. ¡Es muy simple!

El ejemplo terminado

Supongamos que la empresa ZonaHosting revende el servicio de ELSERVER. En su sitio, www.zonahosting.com.ar, informa sobre los planes y precios.

Pero también es el ingreso al Panel de Control. Cuando un usuario completa su SSO y clave:

reseller003

…. ingresa logueado:

reseller004

Y cuando cierra sesión, el Panel lo redirige a una pantalla personalizada donde ZonaHosting incluye un mensaje y promociones:

reseller005

Primer paso: armar el formulario de login

Por defecto, los clientes de este revendedor deben ingresar al Panel de Control a través de panelbeta.zonahosting.com.ar, donde verán una pantalla como esta:

reseller002

Esta es la interfaz genérica de ingreso. No tiene el logo y los colores de nuestra marca… es mejor crear una nueva. El HTML necesario es muy simple: debe ser un formulario que envíe un POST a panelbeta.tudominio.com/login/, con tres datos:

- El sso, la dirección de correo que el usuario utiliza siempre para entrar al Panel,
- El password, la clave correspondiente
- Y opcionalmente redirect, una URL adonde será dirigido el usuario en caso de errores (por ejemplo, por haber ingresado mal sus datos).

Entonces, sería algo como:

<form method="POST" action="http://panelbeta.tudominio.com/login/">
    <input type="text" name="sso" placeholder="Email">
    <input type="password" name="password" placeholder="Clave">
    <button>Ingresar</button>
</form>

Por supuesto, este formulario puede tener el estilo que quieras, y puede estar en cualquier parte de tu sitio, siempre que apunte a la dirección correcta.

Segundo paso: definir la URL de logout

Ahora vamos a ver cómo definir una página a la que son redirigidos todos tus clientes al poner “Salir” en el Panel de Control.

Supongamos que esa URL de salida debe ser zonahosting.com.ar/gracias_vuelva_pronto, una página donde le agradecemos por haber usado nuestro servicio y publicamos otras ofertas. Esta página puede tener el contenido y el estilo que vos elijas.

Para definirla, vamos a la sección “Inicio” de nuestro plan reseller, y hacemos click en “Configurar cuenta”. Donde dice “URL de salida”, completamos con la URL completa de la página correspondiente.

Es decir, de esta forma:

reseller001

Hacemos click en “Guardar cambios” y listo, todos tus clientes serán dirigidos allí al salir del Panel de Control.

Si no la definimos o dejamos el campo vacío, la URL de salida será la ruta base (en este caso, panelbeta.zonahosting.com.ar).

En resumen

Con estas nuevas herramientas, podés personalizar aún más la experiencia de tus clientes y aprovechar las ventajas de revender un servicio 100% marca blanca como el que te ofrece ELSERVER.

¡Buenas ventas!

Compartí este artículo

skins

Como saben, tenemos un gran estreno estos días: Kinto, nuestro nuevo Panel de Control. A partir del miércoles 14 de agosto, haremos la actualización progresiva y muchos usuarios verán esta nueva versión por defecto cuando ingresen al panel.

Si tenés un plan Cloud 4 Resellers, podés ganar tiempo probando el nuevo Panel de Control ahora mismo. En esta guía, te dejamos todo lo que tenés que saber para crear skins para la nueva interfaz. ¡Adelante!

Un sistema más simple

Antes, crear y mantener un skin era complicado: debías subir un complejo archivo CSS adaptando el estilo del panel a tu imagen de marca. Una pequeña actualización significaba pedirle a un diseñador o maquetador que hiciera los cambios, subir el CSS nuevamente… Esto también nos impedía a nosotros, ELSERVER.COM, crear nuevos elementos en la interfaz, ya que quienes utilizaran un skin diferente no los verían correctamente.

Ahora, para crear un skin solamente debés elegir los colores, el tipo de letra y la URL de tu logo. ¡Y listo! Podés crear tantos como quieras, para que tus clientes tengan opciones que se adapten a su gusto.

Porque otra de las novedades es esa: el skin ya no depende de la cuenta, sino del usuario. Podés armar cuatro o cinco opciones, el usuario desde la configuración de su SSO puede guardar su favorita.

Listado de skins

Si tenés un plan Reseller, al ingresar al nuevo Panel de Control verás en el menú izquierdo la opción “Temas”.

Al hacer click allí, verás el listado de todos los temas (skins) que tenés disponibles para tus clientes. Por defecto, verás dos:

- Uno llamado Default, el skin marca blanca por defecto disponible para todas las cuentas de la plataforma.

- Y otro llamado elserver, un skin heredado: podés verlo y tomarlo como referencia, pero no lo van a ver tus clientes.

Crear un nuevo skin

Para crear tu primer skin, hacé click en “Nuevo tema”. Verás un formulario en la parte derecha, donde podrás completar:

Datos básicos

- El nombre del skin: cualquier nombre que te ayude a identificarlo.

- Si es visible: mientras lo estés preparando, quizás no quieras que tus clientes lo vean. Si es así, dejá esta opción destildada.

- Si es el skin por defecto: define si es el tema predeterminado para tus clientes. Cada usuario SSO puede guardar en sus preferencias el skin que quiere utilizar, pero por defecto verá el tema que tildes con esta opción.

Apariencia

- Logo: es la imagen que aparecerá en la esquina superior izquierda del panel. Debe ser un PNG con fondo transparente, de 245 x 35 pixels. Debés escribir la URL completa de la imagen, incluyendo http://. Si querés, podés utilizar este ejemplo como punto de partida.

- Color principal: es el color que tendrán la barra superior, los enlaces, el indicador de sección activa, las carpetas… ¡todo! Cambiando este color, podés cambiar toda la apariencia del panel. Debe ser un código de color hexadecimal completo, por ejemplo #0088cc. Pronto incluiremos un colorpicker para que el trabajo sea aún más sencillo.

- Tamaño de letra: el tamaño base que tendrá el texto en el panel. Debe ser un valor en pixels, entre 12 y 15.

- Tipo de letra: podés elegir entre Open Sans, Tahoma, Arial y Verdana.

Previsualizar un skin

Para ver cómo quedaría, podés hacer click en “Previsualizar”. Se abrirá una ventana modal donde podrás ver el skin en acción.

Cambios en el skin

Los cambios podés hacerlos y previsualizarlos en cualquier momento, pero los usuarios que ya estuvieran logueados al panel y utilizando ese skin verán el cambio recién una vez que inicien sesión nuevamente.

Tu skin, tu estilo

Como ves, crear un skin es muy sencillo y tiene un gran efecto en cada detalle de la interfaz de Kinto. Por ejemplo, eligiendo un logo y definiendo el color principal en un tono violeta, podemos lograr algo como:

custom01

El color principal define también los colores de las carpetas, por ejemplo, cuando navegamos por los backups web:

custom02

Ahora con un sólo cambio, podés hacer que tus clientes se sientan como en casa.

Utilizar tus propios skins

Los usuarios SSO de cuentas revendedoras son los únicos que pueden elegir un skin que ellos mismos han creado. Desde el menú de tu SSO, en la esquina superior derecha del panel, podés ir a la sección “Temas” y seleccionar para tu uso personal un skin provisto por ELSERVER o creado en tu multicuenta.

Esto es muy útil para que, si estás vendiendo a la vista de tu potencial cliente, no vea el logo de ELSERVER en ninguna parte de tu pantalla.

En resumen

Esperamos que puedan crear skins con su logo y sus colores de una forma más simple. Si tienen alguna consulta, no duden en contactarnos por mail o bien en los comentarios de esta nota, para que podamos ayudarlos.

¡Nos leemos la próxima!

Compartí este artículo

Slim, mini framework REST para PHP

Slim PHP

Si necesitamos crear el backend para algún proyecto sencillo en PHP, quizás no necesitemos un gran framework con miles de opciones como CodeIgniter o Laravel. Pero quizás tampoco convenga escribir el sistema de cero, para no reinventar la rueda.

A mitad de camino se encuentra Slim, un micro framework PHP para crear aplicaciones REST con una sintaxis muy simple. Desde el router asociamos cierta pedido HTTP con funciones anónimas, de esta manera:

// Instanciamos nuestra aplicación
$app = new \Slim\Slim();

// Asociamos una URL a una función deduciendo el parámetro name
$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
});

// Ponemos en marcha el router
$app->run();

Al ingresar en /hello/world se ejecutará la función y entonces veremos en pantalla el mensaje.

A continuación, vamos a repasar cómo instalar Slim, trabajar con parámetros de URL, probar su sistema de templates y construir un sencillo API REST.

(more…)

Compartí este artículo

Cómo asegurar tu sitio WordPress (2da parte)

Wordpress

¿Quién dijo que las segundas partes no son buenas? ¡Esta es súper interesante y completa! Luego de una primera entrega donde repasamos algunos conceptos de seguridad básicos, se va la segunda con muchos más tips.

Limitar la cantidad de intentos de acceso

Para evitar los ataques de acceso por fuerza bruta es recomendable restringir la cantidad de intentos que realiza un usuario para ingresar al panel administrativo y bloquearlos temporalmente luego de una determinada cantidad de intentos fallidos. Esto ayuda a prevenir que alguien descubra nuestra contraseña por prueba y error.

Esto se puede hacer fácil y rápidamente con plugins como Login LockDown y Simple Login Lockdown que se ocupará del control de acceso de tu sitio WordPress permitiendo, entre otras cosas, configurar cuantos intentos de accesos se admitirán y el tiempo de espera antes de permitir un nuevo intento.

Ocultar los errores de acceso

Cuando intentás ingresar a tu sitio WordPress con un usuario o contraseña incorrecta, el formulario de acceso muestra un mensaje de error indicando cual de los datos es el erróneo. Esto brinda información a los usuarios malintencionados sobre que nombres de usuarios son correctos para ingresar al sitio. Se recomienda reemplazar esos mensajes de error por uno genérico y así ocultar dicha información.

Para esto hay que agregar el siguiente código en el archivo functions.php del theme de tu sitio:

add_filter('login_errors', create_function('$a',
"return 'Los datos de acceso son incorrectos.';")
);

Reemplazando el text “Los datos de acceso son incorrectos” por el mensaje que desees mostrar.

Utilizar el modo seguro para ingreso de usuarios

Desde WordPress es posible definir que los accesos de usuarios se realicen en Modo Seguro utilizando el protocolo SSL únicamente para que los datos de acceso viajen encriptados entre el navegador y tu sitio. Es decir que sólo se podrá ingresar con un usuario si utilizando una dirección que comienza con https://.
Para habilitar esta opción simplemente debes agregar en tu archivo wp-config.php la siguiente línea de código:

define('FORCE_SSL_LOGIN', true);

Si además de forzar que los ingresos sean seguros se desea forzar la navegación segura con SSL en toda la sección del panel administrativo, se puede hacer agregando el siguiente código:

define('FORCE_SSL_ADMIN', true);

Para que tengan efecto estos códigos deben ser agregados al archivo de configuración antes de la siguiente línea:

require_once(ABSPATH . 'wp-settings.php');

También debes tener en cuenta que el acceso con modo SSL hace más lenta la navegación en el sitio. Además, si bien ELSERVER.COM lo permite, algunos servidores y planes de hosting no tienen habilitado el acceso a través de SSL, con lo cual asegúrate de tener habilitada esa opción en tu servicio de hosting antes de realizar este paso o contratá hoy mismo un plan con nosotros.

Configurar las claves secretas de autenticación

Estas claves se encuentran definidas en el archivo wp-config.php y se utilizan para encriptar de forma más segura tu contraseña y los datos que se transmiten entre el sitio y tu navegador lo que hace más difícil que alguien pueda adivinarlos o acceder a ellos.

Para definir estas claves secretas debes editar las líneas del archivo wp-config.php en donde figura lo siguiente:

define('AUTH_KEY', 'Frase de seguridad');
define('SECURE_AUTH_KEY', 'Frase de seguridad');
define('LOGGED_IN_KEY', 'Frase de seguridad');
define('NONCE_KEY', 'Frase de seguridad');
define('AUTH_SALT', 'Frase de seguridad');
define('SECURE_AUTH_SALT', 'Frase de seguridad');
define('LOGGED_IN_SALT', 'Frase de seguridad');
define('NONCE_SALT', 'Frase de seguridad');

Donde dice “Frase de seguridad” debes colocar la frase o clave que quieras utilizar, se recomienda que sean claves aleatorias de tal forma que no puedan ser adivinadas fácilmente.

Puedes generar las claves aleatorias utilizando el WordPress Key Generator. Simplemente copia las claves que genera y reemplazalas en tu archivo wp-config.php.

Cambiar la ubicación del archivo wp-config.php

En las últimas versiones de WordPress, más específicamente a partir de la versión 2.6, es posible reubicar el archivo wp-config.php un nivel más arriba del directorio donde se haya creado la instalación para que no sea accedido públicamente.

Por ejemplo, si nuestra instalación está ubicada en /public_html/misitioweb/, entónces el archivo wp-config.php podría moverse de esa carpeta a /public_html/ y WordPress autodetectará en cual de las dos se ubica. Pero por más que se lo coloque en cualquier otra ubicación, WordPress no lo detectará.

Cabe aclarar que el archivo de configuración sólo se puede reubicar en la carpeta superior al raíz de la instalación WordPress y NO en cualquier directorio como se menciona en algunos artículos.

Si lo colocas en cualquier otra ubicación, WordPress no lo detectará e intentará crear uno nuevo a través del asistente de instalación. Esto genera una falla de seguridad más grave ya que quien ingrese primero al sitio web podrá generar una nueva instalación.

Prevenir la inyección de código malicioso

Dependiendo de cómo esté configurado el servidor de hosting, existe la posibilidad de que alguien intente sobreescribir las variables globales de PHP a través de la URL de acceso a algunas de las páginas del sitio. Para evitar esto se pueden filtrar los parámetros de las URL a través del módulo rewrite, agregando la siguiente configuración en el archivo .htaccess del directorio raíz:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Eliminar los plugins innecesarios

Existen muchos plugins que no se encuentran debidamente probados o que no reciben mantenimiento y actualización para las nuevas versiones de WordPress. Estos pueden generar errores, agujeros o filtraciones de seguridad que pueden ser aprovechados por quienes deseen hacer daño y perjudicarán el funcionamiento del sitio.

Si tienes plugins instalados en tu sitio que no estas utilizando o de los cuales no sabes qué riesgos de seguridad pueden presentar, la mejor opción es desactivarlos y desinstalarlos completamente desde el menú de gestión de Plugins. Asegurate de que se hayan eliminado todos los archivos de esos plugins en la carpeta /wp-plugins de tu instalación para evitar cualquier filtración posible.

Hasta aquí llega el alcance de la seguridad básica que podría implementar cualquier propietario de un sitio WordPress. En la próxima nota veremos otros tips para restricción de permisos en los archivos, modificación de configuraciones predefinidas durante la instalación y como agregar más seguridad al panel administrativo.

Compartí este artículo

Ingreso Clientes

Datos incorrectos. Por favor revisa el e-mail y la contraseña.

Ingresaste correctamente.

Olvidé mi contraseña

Cerrar

Recuperar contraseña

Te llegará un correo con la información acerca de como proceder.

Volver

Cerrar