Crear área restringida con php en nuestra web.
Hola, ¿Cómo están? Aquí les dejo una forma sencilla de crear un area de nuestra web restringida con usuario y password hacia una página personal de nuestro usuario. Este tuto lo hago despues de pasar lo mio para llegar a este fin, a si que espero que les sirva.
Antes de nada debo decir que para realizar una web en php es necesario tener algún interprete de éste para poder ejecutarlo.
Materiales a utilizar:
- bloc de notas
- interprete de php (en mi caso AppServ con php5)
Archivos a utilizar:
-página de ingreso: (en nuestro ejemplo se llamará ingreso.php) ingreso.php
-página de control: (donde se verifica si el user y password están restringidos) control.php
-página privada: (area restringida personal para nuestro usuario) user1.php// user2.php// user3.php
Para seguridad ingresaremos un par de códigos en las páginas que a continuación explicaré y tomaremos algunas precauciones más.
Es hora de comenzar, guardaremos este formulario de inscripción en un bloc de notas o lo insertaremos en la página de inicio que nosotros queramos, ojo, siempre con la extensión .php (en este caso ingreso.php):
<html>
<head>
<title>Acceso Restringido</title>
</head>
<body>
<h1>Autentifíquese</h1>
<form action="control.php" method="POST">
<table align="center" width="225" cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2" align="center"
<?if ($_GET["errorusuario"]=="si"){?>
bgcolor=red><span style="color:ffffff"><b>Datos incorrectos</b></span>
<?}else{?>
bgcolor=#cccccc>Introduce tu clave de acceso
<?}?></td>
</tr>
<tr>
<td align="right">USER:</td>
<td><input type="Text" name="usuario" size="8" maxlength="50"></td>
</tr>
<tr>
<td align="right">PASSWD:</td>
<td><input type="password" name="contraseña" size="8" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="Submit" value="ENTRAR"></td>
</tr>
</table>
</form>
</body>
</html>
Bien, ahora abrimos otro bloc de notas e insertaremos el siguiente código para validar los usuarios que estén registrados y mandarlos a su página privada.
<?
//vemos si el usuario y contraseña es váildo
if ($_POST["usuario"]=="user1" && $_POST["contraseña"]=="xxxx"){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: user1.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: ingreso.php?errorusuario=si");
if ($_POST["usuario"]=="user2" && $_POST["contraseña"]=="asdfg"){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: user2.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: ingreso.php?errorusuario=si");
if ($_POST["usuario"]=="user3" && $_POST["contraseña"]=="pepe69"){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION["autentificado"]= "SI";
header ("Location: user3.php");
}else {
//si no existe le mando otra vez a la portada
header("Location: ingreso.php?errorusuario=si");
}
}
}
?>
Pues bien, ya estamos finalizando. Abrimos otro bloc de notas, o bien seleccionamos la web que tengamos creada de nuestro user1.php // user2.php // user3.php e inserteremos el siguiente código:
<?php
if(!($_SERVER["HTTP_REFERER"]==" ingreso.php")){
echo "No puedes entrar, debes registrarte";
exit();
}
?>
<html >
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
<a href="salida.php" target="_top">Salir de forma segura</a>
</body>
</html>
<?php
if(!($_SERVER["HTTP_REFERER"]=="ingreso.php" )){
echo "No puedes entrar, debes registrarte";
exit();
}
?>
El código éste, el que se situa al inicio del todo de la web sirve para que nadie pueda acceder a la zona restringida sin poner en la pagina ingreso.php los datos.
Asegurense de no dejar espacio entre el código de php y el <html>
Fijense en esta etiqueta: <META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
Esto evita que la web sea registrada por los motores de búsqueda de tipo google. Aumentando algo más la seguridad.
Con este propósito, y con el fin de que no puedan acceder a el sitio donde tengamos ubicadas las páginas privadas (o mejor dicho que se les complique más) es introducir un archivo index.html en blanco en la carpeta que queramos ocultar.
Esto fue todo, creo que esto tiene suficiente seguridad (a no ser que vayamos a albergar cuentas de crédito o cosas así, jaja) como para poder proteger un área (si estoy equivocado por favor díganmelo, no soy un experto pero creo que esto para mis necesidades me sobra). Claro que es mucho mejor con bases de datos, este será mi próximo objetivo.
Saludos y díganme si les gustó, si tiene algún error, si no les funciona(a mi me va perfecto), etc.
--permito su publicación otro sitio siempre que se cite la fuente o autor.
PD: Este tuto ha sido elaborado completamente por mi, los codigos los he cogido de algunas web´s que no cito porque ni recuerdo cuantas miré para hacer lo que era mi proposito, por lo que en gran medida tube que ingeniarmelas para sin saber casi nada de php adaptarlo a mi caso. No creo que esto viole nada contra la propiedad o derechos de autor, si es así. diganmelo.
Hola que tal. Resulta que hace poco que empece a ver esto de la seguridad en PHP, no soy un experto pero en fin. QUisiera preguntarte algo, con respecto a esto:
Por que creas esta variable si no veo que la uses en el bloque de codigo siguiente:
$_SESSION["autentificado"]= "SI";
Especificamente que es lo que hace esa linea de codigo.
if(!($_SERVER["HTTP_REFERER"]=="ingreso.php" )){
Gracias por tu tiempo y tu futura respuesta.
xD
Hola, yo he de decir que tampoco soy un experto y que estoy empezando con esto, para sacarlo fue casi mediante el modo de prueba y error jeje.
respecto a esto $_SESSION["autentificado"]= "SI";
Tienes razón, no es necesaria, lo he probado y por supuesto, se puede prescindir de ella.
El otro código:
if(!($_SERVER["HTTP_REFERER"]=="ingreso.php" )){
Hace que sea necesario y obligatorio acceder desde ingreso.php a user1.php, sino es así aparece en la pagina lo que tenemos establecido, algo asi como, para acceder debe registrarse. Y si le das a ver código fuente, no aparecerá código, claro. Tan solo esta frase.
Saludos y no os preocupeis por cansinearme que así aprendemos todos:p
Una pregunta, yo tmb estoy novato y me interesa esto, asi que bueno vamos a ver, la duda es esta :
if ($_POST["usuario"]=="user3" && $_POST["contraseña"]=="pepe69"){ //usuario y contraseña válidos //defino una sesion y guardo datos session_start(); $_SESSION["autentificado"]= "SI"; header ("Location: user3.php"); }else { //si no existe le mando otra vez a la portada header("Location: ingreso.php?errorusuario=si");
Para cada usuario que creas se necesita esto?, no tenes base de datos? donde registras a los nuevos usuarios?.. o lo haces asi, mediante script, cada usuario que queres agregar, lo haces de este modo?..
Saludos y gracias, si es asi, creo que una base de datos le daria mucha mas flexibilidad.
Gracias por todo.
Hola ya que estamos hablando del tema. SUpongo que NaSaRiD15 menciono ese ejemplo puesto que solo fue eso "...un ejemplo..." Claro esta que el login se hace con el acceso a una base de datos y todo eso. Volviendo al tema, me parece interesante el script, puesto que como tú mencionas, hace necesario que para acceder a una pagina restringida tengas que pasar por una pagina oculta (php) con codigo capaz de reconocer si es el usuario correcto y/o tiene los permisos necesarios para esto.
Dime este codigo tiene alguna contraparte ¡?
Buenas hadess_inf , en realidad creo que el no utiliza base de datos, al menos en ninguna parte del codigo vi que se conectara a la misma, crea los usuarios en el script mismo, me parece, en realidad no se bien, pero estoy casi convencido que si.
Espero alguien pueda responderme esto rapido porque me genero la duda, gracias por todo.
Bueno pues si, no se vio lo que mencionas puesto que yo creo que solo fue algo didactico, para establecer la conexion se haria en 2 paginas. Por ejemplo:
Pagina uno: index.html
<html>
<body>
<form name='f1' method='post' action='verifica.php'>
usuario: <input type='text' name='t1' size='10'>
clave : <input type='password' name='t2' size='10'>
<input type='submit' value='ingreso'>
</form>
</body>
</html>
CLaro que antes has de haber creado conexion.php con la conexion (valga la redundancia)
Pagina dos: verifica.php
<?
include_once "conexion.php";
$usu = $_post['t1'];
$cla = $_post['t2'];
//aqui codigo para evitar el SQL INYECTION o como se escriba xD
$sql = "select * from usuario where idusuario='$usu' and clave='$cla'";
$res = mysql_query($sql);
if(mysql_num_rows($res)==1)
{
session_register();
$_session['ingreso']=true;
header("location:micuenta.php");
}
else
{header("location:index.html");}
?>
Seria algo asi creo: xD
Ahora segun el ejemplo para poder acceder a una pagina restringida seria algo asi:
if(!($_SERVER["HTTP_REFERER"]=="verifica.php" )){
Pero ahora que lo pienso bien esto tendria algunas complicaciones. Porque siempre tendria que pasar por verifica para poder acceder a esa cuenta, ahora quizas se pueda cambiar el verifica.php por un valida.php, esta nueva pagina valida.php podria validar si el usuario esta activo o no.
valida.php
<?
if(isset($_session['ingreso']))
{
header("location:micuenta.php");
}
?>
Que alquien me corriga si me equivoco en algo.
Saludos.
Yo se que es a modo de enseñar, solo queria decir que el crear los usuarios en el mismo script no es an flexible ni bueno como crearlos en una base de datos mysql, por ejemplo. simplemente eso.
Saludos y gracias por tu code, ahora lo miro bien y cualquier cosa te digo.
Hice un pequeño script bién básico para ver si es esto lo que necesitas.
Te puedes registrar y cuando ingresas con tu user y pass tienes un contenido personalizado.
Demo: http://lab.jccharry.com/seguridad_web_doc/web.php
<?php
/*
Codeado por WHK para NaSaRiD15
*/
/* Configuraciones del php --------------------------------- */
error_reporting(0); // Evita fuga de información
set_magic_quotes_runtime(0); // Evita las adiciones de slashses que aplica apache en las Request URI
/* ---------------------------------------------------------- */
/* Datos de la base de datos -------------------------------- */
$servidor_bd = '127.0.0.1';
$basededatos = 'nasarid';
$usuario_bd = 'nasarid';
$pass_bd = 'pass';
/* ---------------------------------------------------------- */
/* Conectamos a la base de datos ---------------------------- */
if(!$conectar_sql = mysql_pconnect($servidor_bd, $usuario_bd, $pass_bd)){
$error_critico = "No se puede conectar a la base de datos";
}else{
if(!mysql_select_db($basededatos,$conectar_sql)){
$error_critico = "No existe la base de datos seleccionada";
}
}
/* ---------------------------------------------------------- */
verifica_error_db($error_critico);
$registro = verifica_registrar();
verifica_login();
/* ---------------------------------------------------------- */
/* Página principal ----------------------------------------- */
if(logueado()){
if(!contenido_usuario_logueado()){
contenido_error();
}
exit(0);
}else{
contenido_general();
exit(0);
}
/* ---------------------------------------------------------- */
/* Funciones ================================================ */
function verifica_login(){
/* Verifica si fue enviado el formulario de logueo */
if($_POST['user_login'] and $_POST['pass_login']){
setcookie('user_login', base64_encode($_POST['user_login']));
setcookie('pass_login', md5($_POST['pass_login']));
header("Estado: Redireccionando para su validacion...");
header("location: http://".$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF]);
exit(0);
}
}
function verifica_error_db($error_critico){
/* Verifica errores de conexión */
if($error_critico){
mysql_close(); // Cierra la conexión MySQL
echo "<html><b>Error: </b>$error_critico<br></html>"; // Escribe el error
exit(1); // Escapa del script
}
}
function logueado(){
if($_COOKIE['user_login'] and $_COOKIE['pass_login']){
global $conectar_sql;
$sql = "
SELECT `pass` FROM `usuarios`
WHERE `user`
LIKE CONVERT(_utf8 '".mysql_real_escape_string($_COOKIE['user_login'])."' USING latin1)
COLLATE latin1_swedish_ci
LIMIT 1;
";
if(!$peticion = mysql_query($sql,$conectar_sql)){
return false;
}else{
$columna = mysql_fetch_row($peticion);
mysql_free_result($peticion);
if(!$columna[0]){
return false;
}
if($_COOKIE['pass_login'] == $columna[0]){
return true;
}else{
return false;
}
}
}else{
return false;
}
}
function contenido_usuario_logueado(){
global $conectar_sql;
$sql = "
SELECT `contenido` FROM `usuarios`
WHERE `user`
LIKE CONVERT(_utf8 '".mysql_real_escape_string($_COOKIE['user_login'])."' USING latin1)
COLLATE latin1_swedish_ci
LIMIT 1;
";
if(!$peticion = mysql_query($sql,$conectar_sql)){
return false;
}else{
$columna = mysql_fetch_row($peticion);
mysql_free_result($peticion);
echo $columna[0];
return true;
}
}
function contenido_general(){
global $registro;
echo '<h1>Creado por WHK para NaSaRiD15</h1><br>
<h2>http://foro.elhacker.net/php/tutorial_crear_area_restringida_con_php_en_nuestra_web-t229893.0.html</h2>
<br><br>
<h3>Ingresar:</h3><br>
<form method="post">
<input type="text" name="user_login"> User<br>
<input type="passwd" name="pass_login"> Pass<br>
<input type="submit" value="Ingresar">
</form>
<br><br><h3>O registrarse:</h3><br>
<form method="post">
<input type="text" name="user_registrar"> User<br>
<input type="passwd" name="pass_registrar"> Pass<br>
<input type="submit" value="Registrarse">
</form><br><br>
'.$registro.'
';
}
function contenido_error(){
echo '
<b><i>Hubo un error al devolver su contenido personalizado.<br>
Elimine sus cookies y buelva a intentarlo.</i></b>
';
}
function verifica_registrar(){
if($_POST['user_registrar'] and $_POST['pass_registrar']){
global $conectar_sql;
$sql = "
SELECT `user`
FROM `usuarios`
WHERE `user`
LIKE CONVERT(_utf8 '".base64_encode($_POST['user_registrar'])."' USING latin1)
COLLATE latin1_swedish_ci
LIMIT 1;
";
if(!$peticion = mysql_query($sql,$conectar_sql)){
return false;
}else{
$columna = mysql_fetch_row($peticion);
mysql_free_result($peticion);
if(base64_encode($_POST['user_registrar']) == $columna[0]){
return "El usuario ya existe";
}else{
$sql = "
INSERT INTO `usuarios` (`user`, `pass`, `contenido`)
VALUES ('".
base64_encode($_POST['user_registrar'])."', '".
md5($_POST['pass_registrar'])."', '<b>Bienvenido ".
mysql_real_escape_string(htmlspecialchars($_POST['user_registrar'], ENT_QUOTES)).
"!</b><br>Contenido a espera de ser editado.');
";
if(mysql_query($sql,$conectar_sql)){
setcookie('user_login', base64_encode($_POST['user_registrar']));
setcookie('pass_login', md5($_POST['pass_registrar']));
header("Estado: Redireccionando para su validacion...");
header("location: http://".$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF]);
exit(0);
}else{
return false;
}
}
}
}
}
/* =========================================================== */
?>
Base de datos en MySQL:
-- phpMyAdmin SQL Dump
-- version 2.11.9.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 01-10-2008 a las 22:21:43
-- Versión del servidor: 5.0.45
-- Versión de PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de datos: `nasarid`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `usuarios`
--
CREATE TABLE IF NOT EXISTS `usuarios` (
`user` text NOT NULL,
`pass` text NOT NULL,
`contenido` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
--
-- Volcar la base de datos para la tabla `usuarios`
--
INSERT INTO `usuarios` (`user`, `pass`, `contenido`) VALUES
('d3c=', 'ad57484016654da87125db86f4227ea3', '<b>Bienvenido ww!</b><br>Contenido a espera de ser editado.'),
('dHR0dHQ=', '3bad6af0fa4b8b330d162e19938ee981', '<b>Bienvenido ttttt!</b><br>Contenido a espera de ser editado.');
Wow, excelente, muchas gracias por el trabajo esto es exactamente lo que estaba buscando!!!
Saludos whk, un gusto tenerlo por aqui!!!!!!!
Hola que tal.
Cita de: NaSaRiD15 en 2 Octubre 2008, 03:56 AM
Una pregunta, yo tmb estoy novato y me interesa esto, asi que bueno vamos a ver, la duda es esta :
if ($_POST["usuario"]=="user3" && $_POST["contraseña"]=="pepe69"){ //usuario y contraseña válidos //defino una sesion y guardo datos session_start(); $_SESSION["autentificado"]= "SI"; header ("Location: user3.php"); }else { //si no existe le mando otra vez a la portada header("Location: ingreso.php?errorusuario=si");
Para cada usuario que creas se necesita esto?, no tenes base de datos? donde registras a los nuevos usuarios?.. o lo haces asi, mediante script, cada usuario que queres agregar, lo haces de este modo?..
Saludos y gracias, si es asi, creo que una base de datos le daria mucha mas flexibilidad.
Gracias por todo.
Si, es así, utilizo el control.php para verificar que está registrado, se que sería mejor una base de datos :p este es mi proximo reto, pero tan solo sería crearla y modificar la pagina control.php. seria poca cosa.
WHK y hadess_inf gracias por vuestros aportes, muy buenos, pero a mi la verdad es que no me interesaba que la gente se pudiese inscribir, me interesa mas que yo se las de directamente (es una web algo modesta). Pero se que les serviran a la gente xq ai demanda sobre esto por la red.
Saludos
master he checado tu php y conexion con la base de datos esta super genial ahora mi pregunta es como desloggeo un usuario dentro del contenido de html simplemente le pongo un nuevo boton de que me saque de la base de datos y como seria eliminar desde otra liga el usuario y el passwod dicho usuario de la base de datos desde otro php o como se podria agragar al que tu utilizaste
ok ya encontre la forma de sacar el registro de usuarios desde otra ventana usando el mismo script lo que no me queda claro es como hacer el log off y tambien la forma de eliminar los usuarios enlistandolos en una pagina especifica espero me puedan platicar algo de esto saludos ;-)
;D ;D ;D ;D y aapude hacer lo del logoff nada mas es cuestion de leer el script del supermaster ahora lo unico que me queda duda es como crear una lista visible de la base de datos para eliminar a los usuarios y sus celdas loool si logro hacerlo yo solo se los posteare pero si alguien tiene idea de como, please posteelo :laugh: :laugh:
Hola, bueno, yo ya llevo un tiempo en esto de php.
y acabo de ver tu codigo [a la rapida] y creo que se puede hacer mas para evitar SQLi
para empezar esta bueno.
y podrias sacarle mas provecho a php5
[Ej: POO]
Saludos cuidate!
y suerte!
Citarcomo hacer el log off
function desloguear(){
@setcookie('pass_login', '');
$_COOKIES['pass_login'] = '';
}
Citary creo que se puede hacer mas para evitar SQLi
Puedes utizar mysql_real_escape_string
http://cl.php.net/function.mysql-real-escape-string
Sin la necesidad de procesar todo en forma cifrada.
Cita de: El Riper en 27 Febrero 2009, 03:26 AM
Hola, bueno, yo ya llevo un tiempo en esto de php.
y acabo de ver tu codigo [a la rapida] y creo que se puede hacer mas para evitar SQLi
para empezar esta bueno.
y podrias sacarle mas provecho a php5
[Ej: POO]
Saludos cuidate!
y suerte!
Podrias citar alguna solucion a un listamiento de la base de datos para borrar usuarios te lo agradeceria infinitamente
Cita de: WHK en 27 Febrero 2009, 03:40 AM
Citarcomo hacer el log off
function desloguear(){
@setcookie('pass_login', '');
$_COOKIES['pass_login'] = '';
}
Citary creo que se puede hacer mas para evitar SQLi
Puedes utizar mysql_real_escape_string
http://cl.php.net/function.mysql-real-escape-string
Sin la necesidad de procesar todo en forma cifrada.
Master quede anodado con tu respuesta solo una pregunta mas, bueno 2 abusando de la confianza en tu primer script utilice en lugar de la base de datos el linkeo tu utilizaste el 127.0.0.1 para el servidor_bd lo replace por localhost y aun asi me sigue funcionando esto no me creara conflictos si utilizo mi base de datos con otra funcion que llame a la misma base de datos??
la segunda es al llamar de nuevo a la base de datos para enlistarla y borrar usuarios ya que tengo lata al meterle el boton delete no se me ocurre como..
$consulta=mysql_query("select * from $TABLA order by nombre asc");
$total_datos = mysql_num_rows ($consulta);
if($total_edificios==0){
echo "No hay datos";
}else{
while($resultado=mysql_fetch_array($consulta))
{
echo "-". $resultado["nombre"] . "<a href='accion.php?accion=borrar&id=$resultado[nombre]'><img src='img/borrar.png' border='0'></a>";
}
}
if ($_GET['accion']=="borrar"){
$consulta=mysql_query("select * from $TABLA")or die(mysql_error());
$total_registros = mysql_num_rows ($consulta);
mysql_free_result($consulta);
if ($total_registros == 1){
echo"debe exsistir por lo menos un dato en la base de datos.";
exit;
}
$a_borrar= $_GET['nombre'];
mysql_query("DELETE FROM $TABLA WHERE nombre='$a_borrar'") or die("no, se pudo borrar ")or die(mysql_error());
mysql_close();
header ("Location: listado.php");
exit;
}
seria algo asi....
;D
ojala sea de utilidad.
Cita de: WHK en 27 Febrero 2009, 03:40 AM
Citarcomo hacer el log off
function desloguear(){
@setcookie('pass_login', '');
$_COOKIES['pass_login'] = '';
}
Estimado me trabe aqui abusando de ti estoy haciendo el registro externo que no sea de acceso publico trate de hacerlo con el siguiente codigo pero me mando al caño tengo que declararlo en el codigo? en el que utilice para el acceso? como realizo el function en el acceso para que me acepte el posting al acceso o directamente declaro otro function de registro y el que devuelves de restro lo cambio por error login?
Como lo incluyo desde un html externo o bien realizo otro function?
Intente meterlo desde mi html externo de esta forma, pero no funciono:
<form method="post" action="ingreso.php">
<input type="submit" value="Ingresar">
</form>
<br><br><h3>O registrarse:</h3><br>
<form method="post">
<input type="text" name="user_registrar"> User<br>
<input type="passwd" name="pass_registrar"> Pass<br>
<input type="submit" value="Registrarse">
</form><br>
Estuve pensando y solo quedaba meterlo en el ingreso.php pero es declarar otro function y si es así tendria que modificar el metodo de registro por que como estan el login y register juntos como puedo accesarlos en otra hoja restringiendo que el usuario no se pueda registrar, dejanlo la unica opcion que yo lo de en alta
Cita de: El Riper en 28 Febrero 2009, 02:08 AM
$consulta=mysql_query("select * from $TABLA order by nombre asc");
$total_datos = mysql_num_rows ($consulta);
if($total_edificios==0){
echo "No hay datos";
}else{
while($resultado=mysql_fetch_array($consulta))
{
echo "-". $resultado["nombre"] . "<a href='accion.php?accion=borrar&id=$resultado[nombre]'><img src='img/borrar.png' border='0'></a>";
}
}
if ($_GET['accion']=="borrar"){
$consulta=mysql_query("select * from $TABLA")or die(mysql_error());
$total_registros = mysql_num_rows ($consulta);
mysql_free_result($consulta);
if ($total_registros == 1){
echo"debe exsistir por lo menos un dato en la base de datos.";
exit;
}
$a_borrar= $_GET['nombre'];
mysql_query("DELETE FROM $TABLA WHERE nombre='$a_borrar'") or die("no, se pudo borrar ")or die(mysql_error());
mysql_close();
header ("Location: listado.php");
exit;
}
seria algo así....
;D
ojala sea de utilidad.
Gracias mira asi quedo mi lestado:
<?php
$servidor = "tuservidor";
$usuario = "nombreusuario";
$clave = "tuclavedeusuario";
$basedatos = "nombrebasedatos";
$conexion=mysql_connect ($servidor, $usuario, $clave) or die ('problema conectando porque :' . mysql_error());
mysql_select_db ($basedatos,$conexion);
$cadena ="SELECT * FROM tutabla";
$tabla = mysql_query($cadena, $conexion) or die ("problema con cadena de conexion<br><b>" . mysql_error()."</b>");
$registros encontrados = mysql_num_rows($tabla);
echo "Encontrados: ".$registros encontrados."<br>;
while ($registro = mysql_fetch_array($tabla)){
echo $registro['campos_de_tabla'];
}
?>
Citar$sql = "
INSERT INTO `usuarios` (`user`, `pass`, `contenido`)
VALUES ('".
base64_encode($_POST['user_registrar'])."', '".
md5($_POST['pass_registrar'])."', '<b>Bienvenido ".
mysql_real_escape_string(htmlspecialchars($_POST['user_registrar'], ENT_QUOTES)).
"!</b><br>Contenido a espera de ser editado.');
";
if(mysql_query($sql,$conectar_sql)){
setcookie('user_login', base64_encode($_POST['user_registrar']));
setcookie('pass_login', md5($_POST['pass_registrar']));
header("Estado: Redireccionando para su validacion...");
header("location: http://".$_SERVER[HTTP_HOST].$_SERVER[PHP_SELF]);
exit(0);
}else{
return false;
}
}
}
}
}
/* =========================================================== */
?>
Ok ya quedo pero donde meto el contenido o lo redirecciono con un java?
Yeshua, creo que tienes un error, tu estas poniendo: <?php
if(!($_SERVER['HTTP_REFERER']==" ingreso.php")){
echo "No puedes entrar, debes registrarte";
exit();
?>
<html>
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
</body>
</html>
Pero descubri que en realidad se debia poner:
<?php
if(!($_SERVER['HTTP_REFERER'] == "http://localhost/Validar/ingreso.php")){
echo "No puedes entrar, debes registrarte";
} else {
?>
<html>
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
</body>
</html>
<?php } ?>
En fin, me funciono bien...
Cita de: Churrin515 en 9 Julio 2009, 23:21 PM
Pero descubri que en realidad se debia poner:
<?php
if(!($_SERVER['HTTP_REFERER'] != "http://localhost/Validar/ingreso.php")){
echo "No puedes entrar, debes registrarte";
} else {
?>
<html>
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
</body>
</html>
<?php } ?>
En fin, me funciono bien...
dudo que eso funcione, por que lo que hace es :
encaso de que no vengas de http://localhost/Validar/ingreso.php el html quedaria asi:
No puedes entrar, debes registrarte<html>
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
</body>
</html>
en caso de que vengas de http://localhost/Validar/ingreso.php el html quedaria asi:
<html>
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
</body>
</html>
saludos!
pd: es una teoria :P
:silbar:
Cita de: Nphacks en 10 Julio 2009, 00:14 AM
Cita de: Churrin515 en 9 Julio 2009, 23:21 PM
Pero descubri que en realidad se debia poner:
<?php
if(!($_SERVER['HTTP_REFERER'] != "http://localhost/Validar/ingreso.php")){
echo "No puedes entrar, debes registrarte";
} else {
?>
<html>
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
</body>
</html>
<?php } ?>
En fin, me funciono bien...
dudo que eso funcione, por que lo que hace es :
encaso de que no vengas de http://localhost/Validar/ingreso.php el html quedaria asi:
No puedes entrar, debes registrarte<html>
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
</body>
</html>
en caso de que vengas de http://localhost/Validar/ingreso.php el html quedaria asi:
<html>
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
</body>
</html>
saludos!
pd: es una teoria :P
"http://localhost/Validar/ingreso.php"
solo coloca:
"ingreso.php"
lo otro del mensaje, si es solo un mensaje, muestralo y redirecciona a "INGRESAR.PHP" ...
;D
<?php
if(!($_SERVER["HTTP_REFERER"]==" ingreso.php")){
echo "No puedes entrar, debes registrarte";
exit();
}
?>
<html >
<head>
<META NAME = "ROBOTS" CONTENT = "NOARCHIVE">
<title>USER1</title>
</head>
<body>
Estas autentificado, este es tu espacio personal.
<a href="salida.php" target="_top">Salir de forma segura</a>
</body>
</html>
Ahi puede entrar todo el mundo, no hace falta estar registrado.