martes, 29 de octubre de 2013

PROTOCOLOS Y ARQUITECTURAS

¿QUE ES UN  PROTOCOLO?
 protocolo de comunicaciones es un conjunto de reglas y normas que permiten que dos o más entidades de un sistema de comunicación se comuniquen entre ellos para transmitir iinformación por medio de cualquier tipo de variación de una magnitud física. Se trata de las reglas o el estándar que define la ssintaxissmanteca y sincronizar de la comunicación, así como posibles métodos de recuperación de errores. Los protocolos pueden ser implementados por harware, o una software combinación de ambos.

 Carracteristicas son:

 1. Seg mentacion y ensamblado
2. encapsulado.
3. Control de coneccion.
4. Entrega de ordenada.
5. Control de flujo
6.Diredeccionamiento
7.Servicio  de transaccio .
O.S.I

Consiste de una serie de niveles que contienen las normas funcionales que cada nodo debe seguir en la Red para el intercambio de información y la ínter- operabilidad de los sistemas independientemente de suplidores o sistemas. Cada nivel del OSI es un modulo independiente que provee un servicio para el nivel superior dentro de la Arquitectura o modelo.
Servicio teletex, en particular la transferencia de documentos según recomendación T60, T61 y T62 de CCITT.



El Modelo OSI se compone de los siete niveles o capas correspondientes:


Nivel Físico

Es el nivel o capa encargada del control del transporte físico de la información entre dos puntos. Define características funcionales, eléctricas y mecánicas tales como:


Establecer, mantener y liberar las conexiones punto a punto y multipunto.
Tipo de transmisión asincrónica o sincronía
Modo de operación simplex, half-duplex, full dúplex.
Velocidad de transmisión.
Niveles de voltaje.
Distribución de pines en el conector y sus dimensiones.
En este nivel se definen las interfaces, módem, equipos terminales de línea, etc. También son representativas de este nivel las recomendaciones del UIT-T, serie V para módem, interfaz V.24 no su equivalente RS-232C, las interfaces de alta velocidad V.35 o RS 449, las interfaces para redes de datos X.21 o las recomendaciones I.431 para RDSI.

Nivel de Enlace

Define la técnica o procedimiento de transmisión de la información a nivel de bloques de bits, o sea, la forma como establecer, mantener y liberar un enlace de datos ( en el caso del nivel 1 se refiere al circuito de datos), provee control del flujo de datos, crea y reconoce las delimitaciones de Trama.

Son representativos de este nivel los procedimientos o protocolos:

BSC (Binary Synchronous Communication)
HDLC (High Level Data Link Control)
SDLC (Synchronous Data Link Control)
DDCMP (Digital Data Communication Message Protocol)
La función mas importante de esta capa es la referida al control de errores en la transmisión entre dos puntos, proporcionando una transmisión libre de error sobre el medio físico lo que permite al nivel próximo mas alto asumir una transmisión virtualmente libre de errores sobre el enlace. Esta función esta dividida en dos tareas: detección y corrección de errores, entre la cual destaca la detección de errores por el método de chequeo de redundancia cíclica (CRC) y el método de corrección por retransmisión.

Nivel de Red

Destinado a definir el enrutamiento de datos en la red, así como la secuencial correcta de los mensajes. En este nivel se define la vía mas adecuada dentro de la red para establecer una comunicación ya que interviene en el enrutamiento y la congestión de las diferentes rutas.
Función importante de este nivel o capa es la normalización del sistema de señalización y sistema de numeraciones de terminales, elementos básicos en una red conmutada. En caso necesario provee funciones de contabilidad para fines de información de cobro.
Traduce direcciones lógicas o nombres en direcciones físicas. En un enlace punto a punto el nivel 3 es una función nula, o sea existe pero transfiere todos los servicios del nivel 2 al 4.
En el nivel 3 es representativa la recomendación X.25 del CCITT, que define el protocolo de intercambio de mensajes en el modo paquete.

Nivel de Transporte

En este nivel o capa se manejan los parámetros que definen la comunicación de extremo a extremo en la red:
Asegura que los datos sean transmitidos libre de errores, en secuencia, y sin duplicación o perdida.
Provee una transmisión segura de los mensajes entre Host y Host a través de la red de la misma forma que el Nivel de Enlace la asegura entre nodos adyacentes.
Provee control de flujo extremo a extremo y manejo a extremo.
Segmenta los mensajes en pequeños paquetes para transmitirlos y los reensambla en el host destino.

Nivel de Sesión

Es la encargada de la organización y sincronización del dialogo entre terminales. Aquí se decide por ejemplo, cual estación debe enviar comandos de inicio de la comunicación, o quien debe reiniciar si la comunicación se ha interrumpido. En general control la conexión lógica (no física ni de enlace).

Es importante en este nivel la sincronización y resincronizacion de tal manera que el estado asumido en la sesión de comunicación sea coherente en ambas estaciones. También, se encarga de la traducción entre nombres y base de datos de direcciones.

Nivel de Presentación

Este nivel o capa es el encargado de la representación y manipulación de estructuras de datos. Establece la sintaxis (o forma) en que los datos son intercambiados. Representativos de este nivel son el terminal virtual (VM: Virtual Machine), formateo de datos , compresión de información, encriptamiento, etc.

Nivel de Aplicación

En este nivel el usuario ejecuta sus aplicaciones. Ejemplo de este nivel son las bases de datos distribuidas en lo referente a su soporte.
Se distinguen dos categorías: servicios que usan el modo conexión para operar en tiempo real y aquellos que usan modos de conexión retardados (no en tiempo real).

Algunas aplicaciones de este nivel son:
Correo electrónico según recomendación X.400 de CCITT.
Servicios interactivos, tales como transacciones bancarias, interrogación de bases de datos, procesamiento en tiempo compartido.





¿Que es el TCP/IP? - Definición de TCP/IP

TCP/IP son las siglas de Protocolo de Control de Transmisión/Protocolo de Internet (en inglés Transmission Control Protocol/Internet Protocol), un sistema de protocolos que hacen posibles servicios Telnet, FTP, E-mail, y otros entre ordenadores que no pertenecen a la misma red.

El Protocolo de Control de Transmisión (TCP) permite a dos anfitriones establecer una conexión e intercambiar datos. El TCP garantiza la entrega de datos, es decir, que los datos no se pierdan durante la transmisión y también garantiza que los paquetes sean entregados en el mismo orden en el cual fueron enviados.
El Protocolo de Internet (IP) utiliza direcciones que son series de cuatro números ocetetos (byte) con un formato de punto decimal, por ejemplo: 69.5.163.59
Los Protocolos de Aplicación como HTTP y FTP se basan y utilizan TCP/IP.

De todas formas, no hay que olvidar que este conjunto alberga a más de 100 protocolos distintos, entre los que se encuentran el HTTP (HyperText Transfer Protocol), necesario para lograr el acceso a cada sitio web; ARP (Address Resolution Protocol), que permite resolver las direcciones;FTP (File Transfer Protocol), imprescindible cuando se necesita transferir archivos; SMTP (Simple Mail Transfer Protocol) y POP (Post Office Protocol), entre otros.


miércoles, 23 de octubre de 2013

ultima clase de php


VERIFICACION DE USUARIO
EN HTML:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>

<body>
<h1>Recuperar Contrase&ntilde;a</h1>
<p>Ingrese su nombre de usuario</p>
<form action="nuevaclave.php" method="post" name="f1">
Usuario<input type="password" name="us1" required /><br/>
Otravez<input type="password" name="us2" required /><br />
<input type="submit" value="Obetenernueva clave" />
</form>

</body>
</html>

DIGITA EL USUARIO SI EL USUARIO QUE INGRESO ES CORREO AL QUE VUELVE A DIGITAR TE LLEVARA A OTRA PAGINA. SI NO TE SALE UN ERROS

CODIGO DE PHP:
<?php
$user1 = $_POST["us1"];
$user2 = $_POST["us2"];
if($user1 != $user2){
                ?>
                <p>los datos ingresados no coinciden, si cree que se trata de un error puede<a href="recuperar.php"> volver a intentarlo</a>
<?php
}else{?>
<h3>Hola<?php echo $user1;?></h3>
                <form name="f1" action="terminado.php"       method="post">
    Nueva clave: <input type="password" name="clave1" required><br>
Vuelva a digitarsu clave<input type="password" name="clave2" required><br>
<input type="submit" value="guardarnueva clave">
</form>

<?php }?>











Te da la bienvenida con el nombre de usuario
Tienes que ingresar una clave y volver a escribirlo debajo y si concidelo guardad
Formulario de terminado permite cambiar o actualizar la contraseña encriptado que se encuentra en la BD.

Código Php:
<?php
$cla1 = $_POST["clave1"];
$cla2 = $_POST["clave2"];
$user1 = $_POST["user1"];
if($cla1 != $cla2){
                ?>
                <p>SU CONTRASEÑA ES INCORRECTA<a href="nuevaclave.php">VUELVA A INTENTARLO</a></p>

<?php
}else{
$cone = mysqli_connect("localhost","root","","seguridad")or die(mysqli_error());
$clavex = hash_hmac("sha512",$cla1,"jhalebet");
$cadena_sql= sprintf("UPDATE usuarios SET clave='%s' WHERE alias='%s'",$clavex, $user1);
mysqli_query($cone, $cadena_sql);
}
?>

lunes, 21 de octubre de 2013

continua

Sirve para extraer un dato especifico de la tabla donde esta en la fila de nombre o sino se le pone usuario.
$nombre = mysqli_fetch_assoc($datos);
echo "<h3>Hola".$nombre["nombres"]."Bienvenidos al Sistema.</h3>";

Condicion para saver si has ingresado los datos corretos e incorrectos.
if($x==0){
                echo";Oops! Los datos ingresados son incorrectos";
}else{
                $nombre = mysqli_fetch_assoc($datos);
                echo "<h3>hola".$nombre["nombre"]."Bienvenidos al Sistema.</h3>";
}


Programación de php  con la condición.
<!doctypehtml>
<html>
<head>
<meta charset="utf-8">
<title>Autenticando al usuario</title>
</head>

<body>
<h1>Autenticando</h1>
</body>
</html>
<?php
$nick =$_POST["nick"];
$clave = $_POST["clave"];
$clavex = hash_hmac("sha512",$clave,"jhalebet");
$consulta = sprintf("SELECT * FROM usuarios WHERE alias='%s' and clave='%s'", $nick,$clavex);
$cone = mysqli_connect("localhost","root","","seguridad");
$datos = mysqli_query($cone,$consulta);
$x = mysqli_num_rows($datos);
//echo $x;
if($x==0){
                echo";Oops! Los datos ingresados son incorrectos";
}else{
                $nombre = mysqli_fetch_assoc($datos);
                echo "<h3>Hola".$nombre["nombres"]."Bienvenidos al Sistema.</h3>";
}
?>



jueves, 17 de octubre de 2013

Trabajo de PHP en encriptación de contraseña o password
Paso 1



O modulo 1
Som modos de encriptación

<?php
echo hash_hmac('ripemd128', 'Yo amo a mi perro', 'secret');
?>
<br />
<?php
echo hash_hmac('ripemd160', 'Yo amo a mi perro', 'secret');
?>
CLASE1
Formulario en Dw. Registrar en la base de datos en Myadmin.

<!doctype html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Registro de Usuarios</title>
</head>

<body>
 <hgroup><h1>Registros de Usuarios</h1></hgroup>
<section>
<article>
<form action="registrar.php" name="f1" method="post">
Nombres y Apelliodos:&nbsp;
<input type="text" name="nombres"><br>
Nombre de Usuario:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="text" name="alias"><br>
Contrase&ntilde;a:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="password" name="clave"><br>
<input type="submit" value="Registrar">
</form>
</article>
</section>
</body>
</html>

Codigo en Php. Es registrado para que  agrege en la Bd phpMyadmin

<?php
$nombres = $_POST["nombres"];
$alias = $_POST["alias"];
$clave = $_POST["clave"];
$cone = mysqli_connect("localhost","root","","seguridad")or die(mysqli_error());
$clavex = hash_hmac("sha512",$clave,"jhalebet");
$cadena_sql="INSERT INTO usuarios values(null,'$nombres', '$alias', '$clavex', 0)";
$x = mysqli_query($cone, $cadena_sql);

?>

Clase 2

Formulario en Dw verificacion del password encritado si existe ono .

<form action="verificarlaencriptacion.php" name="f1" method="post">
    <p>Alias:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  <input type="text" name="nombres" tabindex="0" placeholder="ingrese nonbres aqui" autofocus>
    </p>
    <p>Contrase&ntilde;a:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="password" name="clave" tabindex="1"><br>
      <input type="submit" value="Autenticar" tabindex="2">
    </p>
  </form>

</article>
</section>
&nbsp;
</div>
</body>
</html>

Código dentro del a  página misma “verificarla encriptación”.

<?php
if(isset($_POST["nombres"])){
$nombre = $_POST["nombres"];
$clave = $_POST["clave"];

$pin="jhalebet";
$clavex = hash_hmac("sha512",$clave,$pin);

$cad_sql = sprintf("SELECT * FROM usuarios WHERE alias= '%s' and clave='%s'",$nombre, $clavex);
$cone = mysqli_connect("localhost","root","","seguridad");
$datos = mysqli_query($cone,$cad_sql);
$x = mysqli_num_rows($datos);
if($x >0){
                echo $x;
}else{
                echo"Error";
}

}
?>
 Este es un ejemplo de cómo ingresar datos con php

<?php
$cone = mysqli_connect("localhost","root","","seguridad")or die(mysql_error());
$nombres = "rocio escalante ";
$alias = "rocio";
$clave = hash_hmac("sha512", "pacaya", "jhalebet");
$cad_sql = "Insert Into usuarios Values(null, '$nombres', '$alias', '$clave',0)";
echo $cad_sql;
$x = mysqli_query($cone, $cad_sql);
if($x){
                echo "Ok";
}else{
                echo "Error";
}
?>

Clase 3

Formulario par buscra el usuario y contraseña registrado  en la base de datos
Si lo encuentra te devuelve 1, si no te de vuelve 0.


Html formulario.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
</head>

<body>
<div align="center">
<section>
<article>
 <hgroup><h1>VERIFICACION DE USUARIO</h1></hgroup>
  <form action="encrita4.php" method="post">
Usuario: <input type="text" name="nick" placeholder="Nombre de usuario" required/><br>
comtrase&ntilde;a:<input type="password"  name="clave" required><br>
<input type="submit" value="Enviar">

  </form>

</article>
</section>

</div>
</body>
</html>
Programación de PHP.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Autenticando al usuario</title>
</head>

<body>
 <h1>Autenticando</h1>
</body>
</html>

<?php
$nick =$_POST["nick"];
$clave = $_POST["clave"];
$clavex = hash_hmac("sha512",$clave,"jhalebet");
$consulta = sprintf("SELECT * FROM usuarios WHERE alias='%s' and clave='%s'", $nick,$clavex);
$cone = mysqli_connect("localhost","root","","seguridad");
$datos = mysqli_query($cone,$consulta);
$x = mysqli_num_rows($datos);
echo $x;
?>



Cuando está en la base de datos te muestra 1.


Cuando no está te sale un numero 0.