Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Seguridad
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 04-12-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

El problema con la primera URL solucionado... o eso creo, de momento. Se trataba de cierta función utilizada para propagar variables "GET". Precisamente, esta función no la escribí yo de mi copete, sino que más bien la adapté de cierto código, como puede verse:

Código PHP:
/**
 * Propaga las variables contenidas en $_GET en la URL de la página que
 * llame a esta función. Utilizamos esta función básicamente para la pa-
 * ginación de enlaces.
 *
 * El algoritmo principal de esta función está tomado del Script Paginator
 * escrito por Jorge Pinedo Rosas (http://jpinedo.webcindario.com)
 *
 * @author dec
 * @since 0.0.1
 * @access private
 * @param string $menosEstaVar Nombre de la variable que no debe propagarse
 * @return string
 */
function PropagarVariblesGet($menosEstaVar '')
{
  
$qs '';
    if((
$menosEstaVar != '')
     && isset(
$_GET[$menosEstaVar]))
      unset(
$_GET[$menosEstaVar]);

  
$aPropagar array_keys($_GET);
  foreach(
$aPropagar as $varGet)
  {
       if(isset(
$GLOBALS[$varGet])) {
          
$qs.= $varGet."=".$GLOBALS[$varGet]."&";
      }
     elseif(isset(
$_REQUEST[$varGet])) {
         
$qs.= $varGet."=".$_REQUEST[$varGet]."&";
     }
    } 
// endfor

  
return $qs;

Pues bien. Escapando las variables que nos llegan conseguimos salvar el obstáculo puesto por la primera URL. Es decir, la función ha quedado así de momento:

Código PHP:
function PropagarVariblesGet($menosEstaVar '')
{
  global 
$bdatos;  // Nuevo

  
$qs '';
    if((
$menosEstaVar != '')
     && isset(
$_GET[$menosEstaVar]))
      unset(
$_GET[$menosEstaVar]);

  
$aPropagar array_keys($_GET);
  foreach(
$aPropagar as $varGet)
  {
      
$varGet $bdatos->Escapar($varGet); // Nuevo
       
if(isset($GLOBALS[$varGet])) {
          
$qs.= $varGet."=".$GLOBALS[$varGet]."&";
      }
     elseif(isset(
$_REQUEST[$varGet])) {
         
$qs.= $varGet."=".$_REQUEST[$varGet]."&";
     }
    } 
// endfor

  
return $qs;

Aún estoy con la segunda de las URLs... ¿qué os parece de todo esto? ¿Curioso cuando menos no?

Por cierto, el método "Escapar" de la clase "Bdatos" y es tal cual:

Código PHP:
    /**
     * Escapa una cadena para su inserción en la base de datos.
     *
     * Atención: este método no asegura la entrada del usuario, que es algo
     * que deberá hacer en todo caso por otros medios.
     *
   * @author dec
   * @since 0.0.1
   * @version 1.0
     * @param string $cadena Cadena a escapar.
     * @return string
     */
    
function Escapar($cadena) {
        return 
mysql_real_escape_string(stripslashes
         
(strip_tags($cadena)), $this->enlaceConexionBd);
    }
    
/* function */ 
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Pivot table Editable (cross-tab) villegasmajano MS SQL Server 1 25-10-2006 23:28:57
como manejan uds en Firebird 1.5 el PIVOT de oracle?? (CROSS TABS) pvizcay Firebird e Interbase 4 19-09-2006 19:17:32
Ajuste de decimales en un Cross-Tab nugame Impresión 4 16-06-2004 13:40:44


La franja horaria es GMT +2. Ahora son las 14:45:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi