Foros del Web » Programando para Internet » PHP »

Abrir sub_enlace

Estas en el tema de Abrir sub_enlace en el foro de PHP en Foros del Web. Hola he hecho una lista y quiero que debajo de cada enlace se abra con php un sub_enlace. Lo he hecho, pero me da el ...
  #1 (permalink)  
Antiguo 23/05/2011, 03:00
El_Astur
Invitado
 
Mensajes: n/a
Puntos:
Abrir sub_enlace

Hola
he hecho una lista y quiero que debajo de cada enlace se abra con php un sub_enlace. Lo he hecho, pero me da el problema que en vez de abrir de uno en uno abren todos, es decir, si pincho en un enlace me abre el sub_enlace del mismo y a la vez el de todos los demás. Al cerrar pasa exactamente lo mismo.
En el html tengo:
<ul>
<li><a href="coyuntura.php?page=info&section=ver">Enlace1 </a>
</li>
<?php AbrirEnlace(); ?>
<li><a href="coyuntura.php?page=info&section=ver">Enlace2 </a>
</li>
<?php AbrirEnlace(); ?>
</ul>

En php he puesto lo siguiente:
function AbrirEnlace() //Enlaces que abren: vídeo, link, información o PDF
{
?>
<?php
if(isset($_GET['page']))
{
$page = $_GET['page'];
$section = "include";
if(isset($_GET['section']))
{
$section = $_GET['section'];
if(!strpos($page,"/") && !strpos($section,"/") &&
!strpos($page,".") && !strpos($section,"."))
{
$path = $section."/".$page.".php";
if(file_exists($path))
{
include($path);
}
}
}
}
?>

El problema que tengo es que cuando pincho en un enlace me abre automáticamente los otros también. ¿Sabríais cómo podría hacer que abrieran de uno en uno?, es decir, que pinche, por ejemplo, en enlace1 y me abra sólo ese no también el enlace2.

Un saludo.
  #2 (permalink)  
Antiguo 23/05/2011, 03:08
 
Fecha de Ingreso: junio-2009
Ubicación: Madrid
Mensajes: 402
Antigüedad: 14 años, 10 meses
Puntos: 20
Respuesta: Abrir sub_enlace

Pon primero, el codigo, entre las etiquetas CODE, PHP ... para que se pueda entender mejor el codigo
  #3 (permalink)  
Antiguo 23/05/2011, 03:49
El_Astur
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Abrir sub_enlace

HTML:


<ul>
<li><a href="coyuntura.php?page=info&section=ver">Enlace1 </a>
</li>
<?php AbrirEnlace(); ?>
<li><a href="coyuntura.php?page=info&section=ver">Enlace2 </a>
</li>
<?php AbrirEnlace(); ?>
</ul>


PHP:

function AbrirEnlace()
{
?>
<?php
if(isset($_GET['page']))
{
$page = $_GET['page'];
$section = "include";
if(isset($_GET['section']))
{
$section = $_GET['section'];
if(!strpos($page,"/") && !strpos($section,"/") &&
!strpos($page,".") && !strpos($section,"."))
{
$path = $section."/".$page.".php";
if(file_exists($path))
{
include($path);
}
}
}
}
?>

El archivo PHP forma parte de una librería php, desde cada enlace se hace una llamada para que despliegue.
  #4 (permalink)  
Antiguo 23/05/2011, 07:39
Avatar de historiasdemaria  
Fecha de Ingreso: septiembre-2010
Ubicación: www
Mensajes: 433
Antigüedad: 13 años, 7 meses
Puntos: 54
Respuesta: Abrir sub_enlace

muy mala practica para la seguridad:
definir al path hacia un include a partir de la variable $_GET
alguien podria inyectar cualquier cosa..
  #5 (permalink)  
Antiguo 24/05/2011, 01:22
El_Astur
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Abrir sub_enlace

Ya he arreglado lo del tema de la seguridad, ¿será mejor así?:

<?php
if(isset($_GET['page']))
{
$page = $_GET['page'];
$section = "include";
if(isset($_GET['section']))
{
$section = $_GET['section'];
if(!strpos($page,"/") && !strpos($section,"/") &&
!strpos($page,".") && !strpos($section,"."))
{
$path = $section."/".$page.".php";
if(file_exists($path))
{
include($path);
}
else
{
echo "La pagina solicitada no existe"; //no acceso
}
}
else
{
echo "No se permite ingresar a esta página"; //no acceso
}
}
}
?>
  #6 (permalink)  
Antiguo 24/05/2011, 02:03
Avatar de historiasdemaria  
Fecha de Ingreso: septiembre-2010
Ubicación: www
Mensajes: 433
Antigüedad: 13 años, 7 meses
Puntos: 54
Respuesta: Abrir sub_enlace

Mmm, haz pruebas, yo hubiera puesto un filtro logico, por si puede inyectar desde otro servidor

O sea un variable array que contenga el nombre de las secciones permitidas y luego comprobar si la seccion es valida, o sea limpia

Código PHP:
Ver original
  1. if (in_array($seccion, $arraySeccionesLimpias))
  2. {
  3.  // Hago esto o lo otro
  4. }

:)
  #7 (permalink)  
Antiguo 25/05/2011, 02:44
El_Astur
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Abrir sub_enlace

Ok, muchas gracias!!!!

Etiquetas: Ninguno
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 06:23.