Foros del Web » Programando para Internet » PHP »

veo txts en una carpeta pero no puedo abrirlo

Estas en el tema de veo txts en una carpeta pero no puedo abrirlo en el foro de PHP en Foros del Web. Hola, necesito saber que puedo modificar para poder abrir los txt de una carpeta ? este es mi script Código PHP: <?php $dirname  =  "c:/xampp/" ...
  #1 (permalink)  
Antiguo 19/01/2010, 15:55
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 7 meses
Puntos: 0
Pregunta veo txts en una carpeta pero no puedo abrirlo

Hola, necesito saber que puedo modificar para poder abrir los txt de una carpeta ?

este es mi script

Código PHP:
<?php

$dirname 
"c:/xampp/";
    
if (
$dir opendir($dirname)) {
    while(
false !== ($file readdir($dir))) {
        if((
$file != ".") and ($file != "..")) {
            echo 
"<A href='$dirname$file'>$file</A><br>";
        }
    }
    
closedir($dir);
} else {
    echo 
"could not open dir: $dirname<br>";


?>
existe archivos en txt pero cuando lo abro me sale q no se puede por la ruta etc..

existe algun riesgo de seguridad en este script?

espero su ayuda gracias
__________________
diseniando ........
  #2 (permalink)  
Antiguo 19/01/2010, 16:10
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 10 meses
Puntos: 7
Respuesta: veo txts en una carpeta pero no puedo abrirlo

Y así:

Código PHP:
<?php

$dirname 
"c:/xampp/";
    
if (
$dir opendir($dirname)) {
    while(
$file readdir($dir)) {
        if((
$file != ".") and ($file != "..")) {
            echo 
"<A href='file://{$dirname}{$file}'>$file</A><br>";
        }
    }
    
closedir($dir);
} else {
    echo 
"could not open dir: $dirname<br>";


?>
Estamos hablando por supuesto que todo esto está en tu local machine, no?

Disculpá vi tarde el último comentario, riesgo... no porque solo vos podes ver esos archivos ya que los usuarios accediendo desde el extranet, no los podran ver siempre que hablemos via HTTP y si se conecta alguno a tu máquina ya de por si estas liado dirian los españoles.

De todas maneras es un punto flojo porque podes mostrar donde tenés alojados archivos y la ruta a los mismo.

Última edición por abcdefghi; 19/01/2010 a las 16:17
  #3 (permalink)  
Antiguo 19/01/2010, 16:37
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: veo txts en una carpeta pero no puedo abrirlo

abcdef/.. jeej gracias pero los files q deseo ver estan fuera del htdocs osea en D .. por esa razon no me los deja ver debe haber otro metodo

saludos
__________________
diseniando ........
  #4 (permalink)  
Antiguo 19/01/2010, 18:22
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 10 meses
Puntos: 7
Respuesta: veo txts en una carpeta pero no puedo abrirlo

A sorry no me di cuenta que hablabas sólo de txt entonces podes probar con:

Código PHP:
<?php 

$dirname 
"c:/xampp/"
     
if (empty(
$_GET['showme'])) {
if (
$dir opendir($dirname)) { 
    while(
$file readdir($dir)) { 
        if((
$file != ".") and ($file != "..")) { 
            echo 
"<A href='?showme=".htmlentities($file)."'>".htmlentities($file)."</A><br>"
        } 
    } 
    
closedir($dir); 
} else { 
    echo 
"could not open dir: $dirname<br>"
}  

} elseif ( ! empty(
$_GET['showme'])  and file_exists("{$dirname}{$_GET['showme']}")) {
    echo 
file_get_contents("{$dirname}{$_GET['showme']}");
}
Igualmente te los debería dejar ver con el otro método, tendrías que chequear si esta bien con file:// o file:/// recuerdo que con IE5 en adelante salío una protección a file sino entrabas a cualquier página de "hackers" y te encontrabas con esto:



Código HTML:
<h1>Tu disco contiene:</h1>
<iframe src="file://c:"></iframe>
<h3>depositame $1000 para que te lo devuelva</h3> 
Julepe en serio te pegabas.
  #5 (permalink)  
Antiguo 19/01/2010, 22:01
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: veo txts en una carpeta pero no puedo abrirlo

gracias abcdefghijklmnopq.. :P me salvaste .. revisare bien eso de la seguridad ..

mucha suerte
__________________
diseniando ........
  #6 (permalink)  
Antiguo 19/01/2010, 23:49
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: veo txts en una carpeta pero no puedo abrirlo

waaa se me presento un problema .. tengo textos que son asi:

GM_LOG 2010-01-14.txt osea tienen un espacio y esos no lo puedo leer? sabes como se puede solucionar?

gracias again ..
__________________
diseniando ........
  #7 (permalink)  
Antiguo 20/01/2010, 12:55
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 10 meses
Puntos: 7
Respuesta: veo txts en una carpeta pero no puedo abrirlo

Cita:
Iniciado por sandrox23 Ver Mensaje
waaa se me presento un problema .. tengo textos que son asi:

GM_LOG 2010-01-14.txt osea tienen un espacio y esos no lo puedo leer? sabes como se puede solucionar?

gracias again ..
Que raro que no puedas leerlos en realidad deberías, probá forzando la códificación:

Código PHP:
<?php  

$dirname 
"c:/xampp/";  
      
if (empty(
$_GET['showme'])) { 
if (
$dir opendir($dirname)) {  
    while(
$file readdir($dir)) {  
        if((
$file != ".") and ($file != "..")) {  
            echo 
"<A href='?showme=".htmlentities(urlencode($file))."'>".htmlentities($file)."</A><br>";  
        }  
    }  
    
closedir($dir);  
} else {  
    echo 
"could not open dir: $dirname<br>";  
}   

} elseif ( ! empty(
$_GET['showme'])  and file_exists("{$dirname}{$_GET['showme']}")) {
   
$_GET['showme'] = preg_replace('![\\/\x2F\x5C]+!','',$_GET['showme']); 
    echo 
file_get_contents("{$dirname}{$_GET['showme']}"); 
}
Tené en cuenta que este código si es inseguro porque cualquier desde el extranet puede leer cualquier fichero donde tengas permiso de lectura con PHP, ahí te puse un filtro para que al menos no cambien de directorio, pero se me podrían estar pasando alguna otra cosa.

En el encabezado de este archivo poné
Código PHP:
ini_set('open_basedir','c:/xampp'); 
Esto impide que puedan bajar de c:/xampp pero recorda que si no equivocamos en algo pueden subir de directorio.

A ver que pasa.

Última edición por abcdefghi; 20/01/2010 a las 15:38
  #8 (permalink)  
Antiguo 20/01/2010, 15:48
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: veo txts en una carpeta pero no puedo abrirlo

abcdefghi gracias amigo .. ya se xq puede ser el problema pero no se como solucionarlo . mira yo uso modulos y en mi htaccess tengo esto

RewriteRule ^(.*)\.html module.php?url_write=$1 [L]

cuando ingreso al archivo lo hago asi:

Código PHP:
// ingreso normal
echo "<a href='".$web['name']."-Option-Logs-".htmlentities($file).".html'>".htmlentities($file)."</a><br>";
// osea en mi url seria asi www.xxxx.com/nameweb-Option-Logs-archivo.html

// pero si lo cambio a esto si puedo verlos
echo "<a href='?op=option&op2=Logs&op3=".htmlentities($file)."'>".htmlentities($file)."</a><br>"
en el script que me diste cambie el showme por el op3 porque mi web como lo hize con modules le habilite para op, op2 op3 op4 ...etc y cuando por ejemeplo quiero ver un archvios me sale esto:

www.xxxx.com/nameweb-Option-Logs-GM_LOG 2010-01-14.txt.html

en blanco :(

espero tu ayuda ...
__________________
diseniando ........
  #9 (permalink)  
Antiguo 20/01/2010, 19:05
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 10 meses
Puntos: 7
Respuesta: veo txts en una carpeta pero no puedo abrirlo

El problema está que module.php no maneja la entrada correctamente:

Código PHP:
RewriteRule ^(.*).html module.php?url_write=$[L
Fijate dentro de module.php porque a
Cita:
nameweb-Option-Logs-GM_LOG 2010-01-14.txt.html
no la procesa.
  #10 (permalink)  
Antiguo 20/01/2010, 21:57
Avatar de sandrox23  
Fecha de Ingreso: abril-2005
Ubicación: Lima - Peru
Mensajes: 274
Antigüedad: 19 años, 7 meses
Puntos: 0
Respuesta: veo txts en una carpeta pero no puedo abrirlo

abcdefghi cuando el archivo no tiene espacio si lo procesa y se puede ver con solo esta url por ejemplo:

nameweb-Option-Logs-GM_LOG.txt.html

ahora aki te dejo los script de mi module.php y de mi option.php

module.php

Código PHP:
$sub_page = !$_GET['op'] ? "News" $_GET['op'];
$sub_page clean_variable($sub_page);
if (
is_file("views/".$sub_page.".php"))

include(
"views/".$sub_page.".php");
}
else

echo 
notice_msg('<b>Pagina no disponible!','Por favor intente mas tarde...</b>'); 

de mi option.php

Código PHP:
$sub_page $_GET['op2']; 
$sub_page clean_variable($sub_page); 
if(isset(
$_GET['op2']))

if (
is_file("views/logs/".$sub_page.".php")) 

include(
"views/logs/".$sub_page.".php"); 
}
else
{
 echo 
notice_msg('Page is unavailabile!','Please try again latter...'); 


donde puede hacer para que me reconozca los espacios? gracias abcdefghijk .. por tu ayuda
__________________
diseniando ........
  #11 (permalink)  
Antiguo 21/01/2010, 09:08
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 10 meses
Puntos: 7
Respuesta: veo txts en una carpeta pero no puedo abrirlo

A menos que los includes, procesen esta directiva:

Cita:
RewriteRule ^(.*).html module.php?url_write=$1 [L]
Esos archivos no tienen relación con el patrón que tiene tu .htaccess

Según dice dentro de module.php va q crear una variable vía get llamada url_write que contiene:

Cita:
nameweb-Option-Logs-GM_LOG 2010-01-14.txt

Etiquetas: carpetas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.