Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/07/2011, 06:19
GuillermoM
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Como evitar que el usuario establezca la ruta donde hacer fwrite();

Cita:
Iniciado por vgonga1986 Ver Mensaje
Acepto jamones en Navidades, solicitar dirección por privado

Un saludo.
Jejeje al final use un ereg pero muchas gracias por darme la idea de restringir el "/" de el titulo.

Ahí va acabado el scrip:

Código PHP:

<?php
session_start
();
$mensaje_error "";
if (
$_SERVER['REQUEST_METHOD'] == 'POST')

{
    
   
$accion = isset($_POST['accion']) ? $_POST['accion'] : '';
    
$base_datos "../articulos/articulos/".$_POST['titulo'].".html";
    
$pagina_sucesos "../articulos/motor.php";
   if (
$accion == 'crear_articulo')
   {
        
        
$base_datos "../articulos/articulos/".$_POST['titulo'].".html";
        
$nuevo_articulo $_POST['articulo'];
        
$nuevonombre_usuario $_SESSION['nombre_usuario'];

        if (!
ereg("^[A-Za-z0-9_!@$]{1,50}$"$_POST['titulo']))
      {
      
$mensaje_error 'Título no permitido.';
      }
      
        
$elementos file($base_datos);
      foreach(
$elementos as $enlinea)
      {
         list(
$nombre_usuario$articulo) = explode('|'trim($enlinea));
         
         if (
$nuevonombre_usuario == $nombre_usuario)
         {
            
$mensaje_error 'Tu nombre de usuario ya está en uso. Por favor, prueba con otro.';
            break;
         }
      }
      if (empty(
$mensaje_error))
      {
         
$archivo fopen($base_datos'a');
         
fwrite($archivo$nuevonombre_usuario);
            
fwrite($archivo'|');
         
fwrite($archivo$nuevo_articulo);
         
fwrite($archivo"\r\n");
         
fclose($archivo);

         
header('Location: '.$pagina_sucesos);
         exit;
         
            }
   }
}
         
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
<link rel="stylesheet" type="text/css" href="../estilos/estiloarticulos.css"></link>
<title>Musicaendo - Nuevo artículo</title>
</head>
<body>
<!-- CABEZA -->
<div id="cabecero">
<div id="menu">
<div id="tabla">
    <ul>
<li><a href="../opciones/index.php" >Opciones</a></li>    
<li><a href="estadisticas.php" >Estadísticas</a></li>    
    </ul>
</div>
</div>
<div id="menu2">
<div id="tabla2">
    <ul>
<li><a href="login.php" id="especial">Iniciar sesión</a></li>     
    </ul>
</div>
</div>
</div>
<div id="contenido">
<div id="herramienta">
<div class="margen">
<div id="div_articulo">
<form name="crear_articulo" method="post" action="<?php echo basename(__FILE__); ?>" id="crear_articulo">
<input type="hidden" name="accion" value="crear_articulo">
<table cellspacing="4" cellpadding="0" >
<tr>
  <td colspan="2" align="center" > <b>Nuevo artículo</b></td>
</tr>
<tr>
   <td align="right" >Usuario:</td>
   <td align="left">
   <?php echo $_SESSION['nombre_usuario']; ?>
   </td>
</tr>
<tr>
   <td align="right" >Título:</td>
   <td align="left"><input type="text" name="titulo" value=""></td>
</tr>
<tr>
   <td align="right" >Artículo:</td>
   <td align="left"><textarea name="articulo"></textarea></td>
</tr>
<tr>
   <td colspan="2"><?php echo $mensaje_error?></td>
</tr>
<tr>
   <td>&nbsp;</td><td align="left" valign="bottom"><input type="submit" name="crear_articulo" value="¡Enviar!" id="crear_articulo"></td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>