Ver Mensaje Individual
  #3 (permalink)  
Antiguo 21/07/2011, 05:58
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();

Bueno, creo que ya está, no lo he solucionado, los usuarios siguen pudiendo establecer la ruta del archivo pero no lo saben. Jejeje es pero que nadie lo descubra.

Ahí va el código con las modificaciones.

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/";
   if (
$accion == 'crear_articulo')
   {
        
        
$base_datos "../articulos/articulos/".$_POST['titulo'].".html";
        
$nuevo_articulo $_POST['articulo'];
        
$nuevonombre_usuario $_SESSION['nombre_usuario'];

        
$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>