Diseño Web, Registro de dominio y Hospedaje Web

Mostrando entradas con la etiqueta php. Mostrar todas las entradas
Mostrando entradas con la etiqueta php. Mostrar todas las entradas

martes, 10 de mayo de 2011

#Tutorial: Insertar Login en tu web


Autor: Rastrillox



¡¡Holas!! Phper@s, bueno he creado este tutorial por que varias personas me han preguntado demasiado de como pueden agregar el login a su web, bueno, para hacerlo es de dos maneras..


  • Codigo PHP
  • Iframe

Les enseñare las dos formas... comenzaremos con el codigo php:

Bien, lo que haremos es abrir el dreamweaver, Bloc de notas, o cualquier editor de paginas web. bien y hacemos lo siguiente...





Como podemos ver, ya escogimos el lugar donde, pondremos el login, una vez elegido el lugar colocamos el siguiente code...



<?php
if (isset($_SESSION['nnick'])) { ?>

</span>
<table width="200" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td height="119" valign="top"><table width="208" height="129" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="68" height="129" valign="top"><span class="Estilo5"><img src="http://www.habbo.es/habbo-imaging/avatarimage?user=<?php echo $habboname?>&action=wav&direction=3&head_direction=3&img_format=gif&gesture=sml" width="64" height="110"></span></td>
        <td width="140" valign="top"><table width="132" height="105" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td>
<a href="ftag.php" class="Estilo20">Minichat</a></td>
          </tr>
          <tr>
            <td><a href="upanel.php?<? echo session_name()."=".session_id() ?>" target="_blank" class="Estilo20">Panel MC</a></td>
          </tr>
          <tr>
            <td height="32"><a href="logout2.php" class="Estilo20">Desconectarse</a></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
</table>
<span class="Estilo5">
<?php
} else {?>

</span>
<table width="187" border="0" align="left" cellpadding="0" cellspacing="0">
  <tr>
   
  </tr>
</table>
<span class="Estilo5"></span>
<form action="procesar2.php?<? echo session_name()."=".session_id() ?>" method="post" name="tag" id="tag" onSubmit="return enviado()">
  <div align="left"><span class="Estilo17">
    <?
include ("main.php");
if ($_GET['mostrar'] == "tag.php") {
?>
    <?

if (isset($_SESSION['nnick'])) {
 echo _WELLCOME." <b>".$_SESSION['nnick']."";
 echo "</b> <a href=\"logout.php\" class=\"EnlaceMenu\">"._LOGOUT."</a>&nbsp;";
 if (isset($_SESSION['nnick'])){
 $nick = $_SESSION['nnick'];
   }
 else if (isset($_POST['nick'])) {
      echo "</b> <a href=\"logout.php\" class=\"EnlaceMenu\">"._LOGOUT."</a>&nbsp;";
       }
 } else {

if ($activarReg == "on")
$size = "17";
else
$size = "30";

if (!isset($_GET['n']) || $_GET['n'] == "")
$nick =_NICKNAME;
else
$nick = $_GET['n'];

?>
    <? } ?>
    <? if ($activarReg == "on") { ?>
    <? } ?>
    <br>
    </span>
    <table width="200" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td align="center" class="Estilo20">Nick:</td>
      </tr>
      <tr>
        <td align="center"><span class="Estilo17">
          <input name="nick" class="lithiumboton" id="nick" style="text-align:center" onFocus="this.value=(this.value=='<?=$nick; ?>') ? '' : this.value;"
onBlur="this.value=(this.value=='') ? '<?=$nick; ?>' : this.value;" value="<?=$nick; ?>" size="19" maxlength="<? echo $maxNick; ?>" />
        </span></td>
      </tr>
      <tr>
        <td align="center"><span class="Estilo20">Contrase&ntilde;a:</span></td>
      </tr>
      <tr>
        <td align="center"><span class="Estilo17"><strong>
          <input name="clave" type="password" class="lithiumboton" id="clave" style="text-align:center"  onFocus="this.value=(this.value=='<?=_PASSWORD; ?>') ? '' : this.value;"
onBlur="this.value=(this.value=='') ? '<?=_PASSWORD; ?>' : this.value;" value="<?=_PASSWORD; ?>" size="19" maxlength="10" />
        </strong></span></td>
      </tr>
      <tr>
        <td height="31" align="center"><input name="enviar" type="submit" class="lithiumboton" id="enviar" value="Entrar"></td>
      </tr>
    </table>
    <a href="catalogo/index.php" class="Estilo20">Registrate..</a>
    <?
} else {
?>
    <? include($_GET['mostrar']); ?>
    <?php
  if (isset(
$_SESSION['nnick'])) {   } else {   ?>

    <?php
  }
  if (isset($_SESSION['nnick'])) {   } else {   }   ?>

    <? } ?>
  </div>
</form>
<? } ?>
 </div>



Al colocarlo nos quedara de la siguiente manera...


OJO:
 No saldra asi feo, se vera normal....
Una vez colocado ya tenemso nuestro login...
pero si quieres que salga de esta manera:
Click aqui!!

tendras que agregarle el siguiente css, a tu index..



}
.lithiumboton {
border:1px solid #CCC;
margin:2px;
padding:2px;
font-family:Verdana, Geneva, sans-serif;
font-size:11px;
border-radius:3px;
-ms-border-radius:3px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
-khtml-border-radius:3px;
}



Manera de Iframe

Ps esta es la mas sencilla hacemos lo mismo que lo de arriva, pero en vez de ese code colocamos lo siguiente:

<iframe width="183" scrolling="no" height="180" frameborder="0" allowtransparency="yes" src="login.php"></iframe>

sábado, 31 de julio de 2010

WampServer: Apache, MySQL y PHP para Windows

es un producto opensource (con licencia GPL) que incluye un entorno web con Apache, MySQL y PHP configurado e instalable para Windows.

La versión actual es la 2.0 i e incluye

- Apache 2.2.11

- MySQL 5.1.36

- PHP 5.3.0.

Podéis descargarlo desde:

Ofrece además un interfaz de administración muy sencillo:

http://unpocodejava.wordpress.com/

martes, 27 de julio de 2010

Nuevas versiones de PHP solucionan varios fallos de seguridad


Se han publicado recientemente nuevas versiones de PHP (versiones 5.2.14 y 5.3.3) que solucionan múltiples problemas de seguridad, que podrían permitir evitar restricciones de seguridad, provocar denegaciones de servicio, obtener información sensible o comprometer los sistemas afectados.

PHP es un lenguaje interpretado de propósito general ampliamente usado, que está diseñado para desarrollo web y puede ser embebido dentro de código HTML. PHP está orientado a la creación de páginas web dinámicas, ejecutándose en un servidor web (server-side scripting), de forma que primero se toma el código en PHP como entrada y se devuelven las páginas web como salida.

Los fallos están relacionados con errores de diseño, desbordamientos de búfer, errores de validación de entradas, y afectan a funciones como "shm_put_var()", XOR operator, "ArrayObject::uasort()", "parse_str()", "pack()", "strchr()", "strstr()", "substr()", "chunk_split()", "strtok()", "addcslashes()", "str_repeat()", "trim()", "addcslashes()", "fnmatch()", "substr_replace()", extensión sqlite, extensión phar, "mysqlnd_list_fields", "mysqlnd_change_user" y mysqlnd.

De todos estos errores sólo se han asignado cuatro CVEs. Dos comunes en ambas versiones y uno específico para cada una de ellas; un total de tres fallos (con CVE asignado) por versión.

CVE-2010-2225:
Esta vulnerabilidad fue anunciada en la conferencia SyScan'10 de Singapore y posteriormente publicada en "el mes de los fallos en PHP". Este fallo se provoca cuando se llama a la función "unserialize" con un objeto "SplObjectStorage". La función "unserialize" no filtra adecuadamente los datos al cargar el objeto. Esto podría permitir a un atacante remoto ejecutar código arbitrario y obtener información sensible. Para la versión 5.2.x solo son vulnerables la versiones de 32 bits. El impacto puede mitigarse con el módulo "Suhosin" pero sigue
siendo vulnerable.

CVE-2010-0397:
Este error había sido publicado por Debian en marzo. Es causado por no procesar correctamente los datos del primer parámetro de la función "xmlrpc_decode_request". Este error en el módulo "xmlrpc" puede provocar una referencia a puntero nulo. Un atacante remoto podría aprovechar este fallo para causar una denegación de servicio a través de una llamada a "xmlrpc_decode_request" especialmente manipulada. Existe una prueba de concepto que permite explotar esta vulnerabilidad.

En la versión 5.3.3 se ha solucionado un error (CVE-2010-2531) en la función "var_export" que podría permitir la fuga de información si ocurre un error grave. El fallo se debe a que los datos se van imprimiendo durante el transcurso de la función en vez de esperar al final para imprimir todo el contenido. Para solucionar esto se ha creado una variable de tipo "smart_str" donde se aloja el texto para imprimirlo tras comprobar que no hay errores.

En la versión 5.2.14 se ha solucionado un error (CVE-2010-2484) en la función "strrchr". Esta función no valida correctamente el valor del parámetro "$haystack". Un atacante remoto podría utilizar esto para obtener información de la memoria.

Las nuevas versiones se encuentran disponibles para descarga desde:
http://www.php.net/downloads.php

jueves, 1 de julio de 2010

Generar contraseñas con php

Navegando en la red me encontré con una función hecha en php para crear contraseñas aleatorias :

<?php  

function Pass_Aleatorio(){  

    $password ="";  

    $tamano = 8; //Longitud del password generado.  

    $caracteres = "abchefghjkmnpqrstuvwxyz0123456789";  // Caracteres posibles para el password.  

    srand((double)microtime()*1000000);  

    $i = 0;  

    while ($i <= $tamano) {  

        $num = rand() % 33;  

        $temp = substr($caracteres, $num, 1);  

        $password = $password . $temp;  

        $i++;  

    }  

    return $password;  

}  

?>


Y su modo de uso es :

<?php  

echo Pass_Aleatorio();  

?>


miércoles, 6 de enero de 2010

¿Cómo crear una base de datos en MySQL?



¿Qué es una base de datos?

“Una base de datos permite organizar ciertos datos de manera que sea sencillo extraer cualquier información de los mismos”. Para entendernos con un ejemplo vamos a trabajar en una base de datos que servirá para guardar datos de la lista de películas de su colección, así, si los organizamos de una manera correcta en la base de datos, será muy sencillo obtener por ejemplo una lista ordenada alfabéticamente, saber cuales las a dirigido el mismo director, o en cuantas a participado un determinado actor etc. (Ahora ya parece que empezamos a entender lo que es una base de datos).

¿Qué es una tabla?

Como por ejemplo en Word, una tabla es una lista de datos, organizados por columnas y filas. Por ejemplo, la siguiente tabla muestra unas películas dentro de una lista.

Dentro de un sistema gestor de bases de datos, la información se puede organizar dentro de tablas, en las que solo tendremos que decidir qué columnas queremos que tenga y de que tipo va a ser la información que tendrán (Numérico, texto, etc)

Empezando con la base de datos

Ahora que ya sabemos que es una tabla y una base de datos; Y tenemos nuestro servidor MySQL instalado con XAMPP y sino, tienes la suerte de poder instalarlo muy sencillamente desde éste tip, vamos a empezar creando nuestra primera base de datos. Para ello, vamos a hacerlo íntegramente desde el PHPmyAdmin que esta en http://localhost/phpmyadmin/

Creando una base de datos

El nombre de nuestra base de datos será Videoteca. Crearemos nuestra base de datos dando al enlace que pone “Bases de datos”, que esta abajo, en nuestra pagina de http://localhost/phpmyadmin/ como podemos ver en esta imagen:

Ahora se nos abrirá una nueva ventana, donde abajo del todo veremos “Crear una base de datos”, en ella escribiremos el nombre de nuestra nueva base de datos, en este caso: Videoteca.

PD: en lo nombres no podemos escribir caracteres como, comas, acentos, ñ, etc.

Si todo ha ido bien, ahora nos pondrá que ya esta creada.

Crear tablas y campos para la base de datos

En el apartado anterior hemos aprendido a crear una base de datos MySQL, y he creado una, a la cual la he llamado “Videoteca”. Ahora el siguiente paso seria crear las tablas y los campos que nos hagan falta para posteriormente meter los datos, y eso es precisamente lo que vamos a aprender en este tutorial.

Creando una Tabla y sus campos en MySQL

Existen varias formas y programas diferentes para crear una tabla en una base de datos MySQL, pero lo voy a hacer desde phpMyAdmin, el motivo de hacerlo desde phpMyAdmin y no de otra forma es porque comúnmente, en todos los servidores ya sean caseros o de un hosting privados siempre suele tener un phpMyAdmin a mano.

En primer lugar vamos a nuestro phpMyAdmin y seleccionamos la base de datos que hemos creado anteriormente(Videoteca) como vemos en la siguiente imagen:

Ahora se cargara la base de datos y nos saldrá un mensaje que pone “no se han encontrado tablas en la base de datos” y más abajo veremos un pequeño formulario para crear nuestra primera tabla.

En nombre pondremos película y en número de campos pondremos 3.

Ahora damos a continuar y se nos cargara la pagina para crear los campos, en este caso serán los 3 que hemos puesto antes.

Veremos que tendremos que rellenar varios datos, pero no tenemos que preocuparnos, ya que explicaremos uno a uno lo que significa.

  • En Campo, pondremos el nombre del campo.
  • En Tipo, debemos poner el tipo de datos que se van a incluir en el campo, por ejemplo pondríamos:
    • VARCHAR si vamos a incluir un texto inferior a 255 caracteres ejemplo (nombres, DNI, direcciones).
    • TEXT si vamos a incluir un texto más largo de 255 caracteres ejemplo (noticias).
    • INT si deseamos escribir exclusivamente números.
    • DATE para poner fechas, o DATETIME, si queremos poner hora y fecha.
  • En Longitud, deberemos de poner el número de caracteres máximo que puede contener dicho campo, esto no hace falta para todos los tipos de datos, ya que por ejemplo para los de tipo DATE, o TEXT no hace falta, pero para los INT y VARCHAR es imprescindible.
  • En Nulo, podemos elegir Null o Not Null dependiendo si queremos que el campo pueda estar vacío (sin datos) o no.
  • En predeterminado, podemos poner lo que queramos que se ponga en el campo en el caso de que no se rellenen los datos o que se rellene de forma incorrecta.
  • En extra, vemos que podemos seleccionar Auto_Increment, esto nos sirve para llevar un orden de los datos que tenemos, por ejemplo, creamos un campo llamado id, de tipo INT y le ponemos auto_increment, de esta forma cada vez que se cree un nuevo dato en este campo se le sumara 1 a la id anterior, de forma que podremos llevar un pequeño orden.

Ahora que ya mas o menos he explicado para que es cada cosa voy a deciros que debemos de poner en cada uno de los 3 campos:

Campo 1
Nombre: id_pelicula
Tipo: INT
Nulo: Not Null
Extra: Auto_increment
Y marcamos la llave de Primaria

Campo 2
Nombre: pelicula
Tipo: VARCHAR
Longitud: 30
Nulo: Not Null

Campo 3
Nombre: Director
Tipo: VARCHAR
Longitud: 30
Nulo: Not Null

Ahora damos a Grabar y ya tendemos nuestra base de datos "Videoteca" con la tabla "películas" con la que podremos empezar a trabajar.

http://www.cristalab.com/tutoriales/crear-una-base-de-datos-en-mysql-c270l/

jueves, 12 de noviembre de 2009

Captcha PHP Scripts

" Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar máquinas y humanos).

Este es un típico test para la secuencia "smwm" que dificulta el reconocimiento de la máquina distorsionando las letras y añadiendo un gradiente de fondo


Se trata de una prueba desafío-respuesta utilizada en computación para determinar cuándo el usuario es o no humano. El término se empezó a utilizar en el año 2000 por Luis von Ahn, Manuel Blum y Nicholas J. Hopper de la Carnegie Mellon University, y John Langford de IBM.

La típica prueba consiste en que el usuario introduzca un conjunto de caracteres que se muestran en una imagen distorsionada que aparece en pantalla. Se supone que una máquina no es capaz de comprender e introducir la secuencia de forma correcta por lo que solamente el humano podría hacerlo.

Como el test es controlado por una máquina en lugar de un humano como en la Prueba de Turing, también se denomina Prueba de Turing Inversa. "

http://es.wikipedia.org/wiki/Captcha


1.- Cryptographp

Cryptographp es un script de PHP que genera captchas. Limita el bombardeo de spam de los robots y automatiza los formularios: subscripcion de miembros, libro de visitas, foros, etc. Incluso hay una versión en plugin para Wordpress, wpMu, Symfony y Guppy.

Cryptographp

2.- Advanced Textual Confirmation

Advance Textual Confirmation es un antispam universal para foros, blogs y formularios de contacto. Es un inteligente texto CAPTCHA el cual se muestra a lo usuarios una sola vez, y después desaparece.

Advanced Textual Confirmation

3.-VeriWord

Veriword es un sistema PHP de CAPTCHA que genera una pregunta en forma de imagen con formas de texto al azar o en otro formulario con flash animado, la clase es capaz de escoger una palabra aleatoria, generar el captcha y almacenar la palabra en una sesión encriptada para su posterior validación.

veriword

4.- Secureimage PHP CAPTCHA

Securimage es un script en PHP de código abierto que permite generar complejas imagenes de códigos captcha para proteger los formularios del abuso y del spam. Pude ser facilmente agregado dentro de los formularios existentes de tu sitio para proveer protección, puede correr en casi cualquier servidor con PHP instalado y soporte para GD.

Secureimage PHP CAPTCHA
Complementa esta lista, comparte tu conocimiento en los comentarios. Saludos

http://daniel.com.mx/last/captcha-php-scripts.py#more-1154

viernes, 27 de febrero de 2009

¿Linux o Windows para mi web?

Linux vs. WindowsSi
estás comenzando en este mundo de las páginas web, los
dominios y el hospedaje web o alojamiento, seguramente te confundas
al ver que para hospedar tus páginas tienes la opción de hacerlo en
Windows o en Linux.


El sistema operativo que elijas no tiene nada que ver con el de tu
computadora. Puedes desarrollar tus páginas en una computadora con Windows XP,
Vista, Ubuntu, o el sistema que prefieras. Aquí nos referimos al sistema
operativo del servidor donde se alojarán tus páginas.


¿Qué debes elegir?


Si tus páginas están hechas en formato HTML, y no se conectan con una base de datos,
puedes usar cualquiera de las dos opciones. HTML es un código estándar, por lo
que cualquier servidor (tanto Linux como Windows) sabrá interpretarlo.


Si tus páginas hacen uso, además de HTML, de PHP y/o se conectan con bases de datos MySQL o PostgreSQL, necesitarás un
plan de hospedaje web en servidor Linux.


Si tus páginas hacen uso, además de HTML, de ASP o ASP .Net, o se conectan con
bases de datos MS Access o SQL Server,
necesitarás un hospedaje web en servidor Windows.


Si no tienes tus páginas programadas aún, el tipo de servidor que escojas
limitará los lenguajes que podrás usar para programarlas. Si no eres tú quien
las programa, contacta con tu programador y pregúntale qué lenguajes está
usando.


¿Cuáles son las ventajas y desventajas?


Los planes de hospedaje en servidores Linux suelen ser un
poco más económicos que en Windows, debido a que Linux está basado en
software libre y mucho del software utilizado en su
funcionamiento también, lo que quiere decir que no tienes que pagar por
licencias. Windows, por su parte, es software propietario y requiere la compra
de licencias.


Linux es el sistema operativo más usado en servidores web en el mundo. Sin
embargo, puede que las características de tu proyecto requieran el uso de
herramientas solo compatibles con Windows.

Facilweb