Ganar dinero con nuestras páginas web y Blogs con Bidvertiser

Podemos Ganar dinero con nuestras páginas web y Blogs con Bidvertiser, una alternativa para las Webs o Blogs que no cumplen la política de Adsense. Creo que al final he encontrado la alternativa a Google Adsense para aquellas Webs o Blogs que incumplen la política de Google Adsense; es decir Webs con contenido sobre ptr, ptc, apuestas, casinos etc. BidVertiser es una empresa orientada principalmente al CPC ( pago por click ). Tienen muchos tipos de anuncio, desde los clásicos banners, cuadrados y skycrapers a PopUps y sliders. Los banners están orientados principalmente a anuncios de texto y los anuncios gráficos suelen ser para los popups y los sliders.



BidVertiser, es muy similar a Google Adsense y además no tiene una política tan restrictiva como Adsense, es una excelente plataforma de publicidad, y realmente la única alternativa real que conozco a Adsense. Muestra anuncios de imagen y texto contextuales y permite modificar el estilo de estos últimos. El procedimiento es idéntico a Adsense, eliges el banner (horizontal, cuadrado, vertical …) y te proporcionan automáticamente el código html para insertar en tu Web o blog. Una gran ventaja es que podemos gestionarlo todo desde el menú, es decir, instalamos el anuncio que queramos con el código y desde el menú de BidVertiser podemos gestionar si queremos modificar el banner, el tamaño, el color o activar los PopUps o sliders a la vez. Podemos decidir también si se muestran anuncios de texto sólo o con imágenes .

Como digo, tiene bastantes opciones que podemos ir descubriendo hurgando en la página. Por ejemplo, te dan la opción de crear una barra de herramientas descargable para los exploradores que puedes personalizar, colgar en tu web y que te generará también dinero. Están en Inglés pero creo que es bastante sencillito y permite poner banners de imagen y de texto.  (más…)

8 consejos para el Posicionamiento (SEO)

Los diseñadores Web con experiencia le dirán: “Es crearlo y no lo visita nadie”. Es verdad. El simple hecho de poner un sitio Web no traerá visitantes. Cuesta trabajo convencer a los clientes de que visiten su sitio una vez, pero todavía cuesta más trabajo convencerlos para que vuelvan a visitarlo.

Una manera en la que la mayoría de gente encuentra un sitio Web es mediante motores de búsqueda como Google.com. Google representa casi la mitad de todas las búsquedas en Internet. Yahoo! y MSN son los siguientes sitios de búsqueda más populares.

Las buenas clasificaciones en los resultados de las búsquedas son esenciales para ayudar a la gente a que encuentre su sitio. Mucha gente no va más allá de la primera página de las páginas de resultados. Además, es mejor ocupar la primera posición de la lista que estar al final.

Los motores de búsqueda utilizan algoritmos sofisticados para ordenar los resultados de la búsqueda. Las buenas clasificaciones de una página no se producen por casualidad. La optimización para localización por motores de búsqueda o SEO es el proceso de crear páginas Web que obtengan clasificaciones altas.

Cada motor de búsqueda utiliza un algoritmo ligeramente diferente. Además, la mayoría ajusta sus logaritmos con regularidad. No obstante, los conceptos básicos de SEO son válidos para todos los motores de búsqueda. Aunque la SEO sea difícil, un enfoque planeado con cuidado puede aumentar el tráfico en su sitio.

Éstos son los ocho pasos que se deben realizar para una SEO satisfactoria. (más…)

Instalación del Personal Web Server: nuestro servidor personal de web

Pasos previos a la programación en ASP. Instalación del Personal Web Server: nuestro servidor personal de web

En otros manuales hemos explicado que, dada la naturaleza de los lenguajes de lado servidor, nos es imposible trabajar offline como hacíamos para el caso de las páginas HTML que almacenábamos en nuestro disco duro. También dijimos que esto no era completamente cierto ya que podíamos resolver este eventual problema instalándonos en nuestro PC un servidor propio. Este servidor distribuido por Microsoft tiene dos versiones diferentes que son utilizadas dependiendo del equipo que estemos utilizando. Para los usuarios de W95 o W98, la versión disponible se llama Personal Web Server (PWS).

Si trabajamos bajo sistema Windows NT, o las versiones Profesional y Server de Windows 2000 y XP, el servidor a instalar es el Internet Information Server (IIS).

Existe también la posibilidad de trabajar en plataformas UNIX empleando en este caso el ChilisoftASP.
(más…)

Instalación de PHP en nuestro servidor

Pasos previos a la programación. Instalación del modulo PHP en distintos servidores web.

Como todo lenguaje de lado servidor, PHP, requiere de la instalación de un servidor en nuestro PC para poder trabajar en local. Este modo de trabajo resulta a todas luces más práctico que colgar los archivos por FTP en el servidor y ejecutarlos desde Internet.

Así pues, antes comenzar a crear nuestros programas en PHP, es necesario:

– Convertir nuestro ordenador en un servidor. Esto se hace instalando uno de los varios servidores disponibles para el sistema operativo de nuestra máquina.

– Introducir en nuestro servidor los archivos que le permitirán la comprensión del PHP. Estos archivos pueden ser descargados, en su versión más actual, de la página oficial de PHP.

Para conocer la forma de instalar PHP sobre cada servidor de cada sistema operativo podemos dirigirnos al apartado de documentación de la página oficial de PHP donde disponemos de un manual en HTML de rápida consulta y un enorme manual en PDF de casi 1000 páginas traducido al castellano donde explican minuciosamente y entre otras cosas, los pasos a seguir para cada caso particular. De todos modos, nosotros vamos a ofrecer algunas ayudas para configurar PHP en los sistemas más habituales.
(más…)

Inyección de Código SQL

Modificación del comportamiento de nuestras consultas mediante la introducción de parámetros no deseados en los campos a los que tiene acceso el usuario.

La inyección SQL consiste en la modificación del comportamiento de nuestras consultas mediante la introducción de parámetros no deseados en los campos a los que tiene acceso el usuario.
Este tipo de errores puede permitir a usuarios malintencionados acceder a datos a los que de otro modo no tendrían acceso y, en el peor de los casos, modificar el comportamiento de nuestras aplicaciones.

Vamos a ver con un ejemplo que significa eso de “Inyección de código”:

Supongamos que tenemos una aplicación Web (realizada en ASP por sencillez) en la que el acceso a ciertas secciones está restringido. Para restringir ese acceso creamos una tabla de usuarios y contraseñas y sólo los usuarios que se validen contra esa tabla podrán acceder a esos contenidos. Una manera de que los usuarios se validen será colocar un par de cuadros de texto en nuestra página Web (por ejemplo txtUsuario y txtPassword) donde puedan introducir su nombre y su contraseña y enviar ese par usuario/contraseña a la base de datos para comprobar si es válido.

Primero creamos la tabla que vamos a usar y la rellenamos con datos:

Ahora veamos el código de las páginas que forman parte del proceso de login.

index.htm

Esta primera página es sencilla. Simplemente los dos cuadros de texto mencionados que enviarán los datos a la página de login.

Login.asp

 Code: arbitrary (select
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.

<%
       Dim Usuario, Password, RS, SSQL
       Usuario = Request.Form("txtUsuario")
       Password = Request.Form("txtPassword")
       SSQL = "SELECT count(*) FROM Usuarios WHERE Usuario = '" & Usuario &
       "' AND password='" & Password & "'"
       Set RS = Server.CreateObject("ADODB.Recordset")
       RS.Open SSQL, "Cadena de conexion"
       If (RS.EOF) Then
          Response.Write "Acceso denegado."
       Else
          Response.Write "Te has identificado como " & RS("Usuario")
       End If
       Set RS = Nothing
%>

Y en esta segunda página creamos dinámicamente una sentencia SQL que enviamos a la base de datos para la validación.
Si el usuario escribe Admin y 1234 la sentencia creada será:

Y como esta sentencia nos devuelve un registro dejaremos que el usuario entre en la Web. Si el usuario escribe por ejemplo ‘Admin’ y de contraseña cualquier otra cosa, la sentencia no nos devolverá registros y no permitiremos entrar a esa persona.
Pero ¿qué ocurre si el usuario escribe ‘ or ‘1’=’1 como usuario y lo mismo de contraseña?
En este caso la variable Consulta contendrá la cadena:

Y obviamente esta sentencia nos devuelve registros con lo que el usuario entrará en nuestra Web sin tener permiso.
Pero esto no es lo peor. Lo peor será que el usuario utilice estos trucos de inyección de SQL para ejecutar código arbitrario en nuestro servidor. Sentencias DDL, cambiar permisos, utilizar procedimientos almacenados y un largo etcétera. Qué ocurriría si alguien escribiese de contraseña cosas como:

Cómo evitarlo

Y ahora lo más importante, ¿qué podemos hacer para evitar estos errores?
Pues hay varios sistemas para evitarlo. Por ejemplo podemos filtrar las entradas de los usuarios reemplazando la aparición de ‘ por ‘’ (dos comillas simples) e incluso evitando que los usuarios puedan pasar caracteres como / “ ‘ o cualquier otro que se nos ocurra que puede causar problemas. Estos filtros pueden ser tan sencillos como utilizar la sentencia replace de Visual Basic:

Otro factor importante en cuanto a la seguridad es limitar al máximo los permisos del usuario que ejecuta estas sentencias para evitar posibles problemas. Por ejemplo utilizando un usuario distinto para las sentencias SELECT, DELETE, UPDATE y asegurándonos que cada ejecución de una sentencia ejecute una sentencia del tipo permitido.
Por supuesto utilizar el usuario ‘sa’ o uno que pertenezca al rol ‘db_owner’ para ejecutar las sentencias de uso habitual de la base de datos debería quedar descartado.
Una solución definitiva sería trabajar con procedimientos almacenados. El modo en el que se pasan los parámetros a los procedimientos almacenados evita que la inyección SQL pueda ser usada. Por ejemplo utilizando el siguiente procedimiento almacenado:

También deberíamos validar los datos que introduce el usuario teniendo en cuenta por ejemplo la longitud de los campos y el tipo de datos aceptados. Esto lo podemos hacer en el cliente con los RegularExpressionValidator o con los CustomValidators del VB.NET. De todos modos si la seguridad es importante todas estas validaciones hay que repetirlas en el servidor.

Por ultimo, y ya que estamos pensando en entornos Web, podemos programar en ASP.NET yy utilizar siempre que sea posible las clases System.Web.Security.FormsAuthentication para que los usuarios entren en nuestras aplicaciones Web.

Página 1 de 212