Difference between revisions of "IAH Detectar el IP desde el cual se accede a la consulta de la base de datos"

From ABCD Wiki
Jump to: navigation, search
 
Line 11: Line 11:
 
| proc('a9000~'getenv('REMOTE_ADDR')'~'), || Coloca en el campo 9000 la dirección IP del cliente desde la cual se accede al iAH ejm: 167.0.186.94
 
| proc('a9000~'getenv('REMOTE_ADDR')'~'), || Coloca en el campo 9000 la dirección IP del cliente desde la cual se accede al iAH ejm: 167.0.186.94
 
|-
 
|-
| s1:=(left(v9000,instr(v9000,'.')-1)), || Extrae los primeros caracteres ubicados antes del punto (167) y los coloca en la variable virtual '''s1'''
+
| s1:=(left(v9000,instr(v9000,'.')-1)), || Extrae los caracteres ubicados antes del primer punto (167) y los coloca en la variable virtual '''s1'''
 
|-
 
|-
 
| s2:=(mid(v9000,instr(v9000,'.')+1,size(v9000)))/,  || Extrae los caracteres ubicados después del punto (0.186.94) y los coloca en la variable virtual '''s2'''
 
| s2:=(mid(v9000,instr(v9000,'.')+1,size(v9000)))/,  || Extrae los caracteres ubicados después del punto (0.186.94) y los coloca en la variable virtual '''s2'''

Latest revision as of 17:06, 11 November 2015

Si desea analizar la direccion IP desde la cual se accede a la consulta de la base de datos para, por ejemplo, no mostrar el vínculo que presenta el texto completo del documento, haga lo siguiente:

1. Edite el formato de presentación del registro y agregue al inicio las siguientes sentencias:

    proc('a9000~'getenv('REMOTE_ADDR')'~'),
    s1:=(left(v9000,instr(v9000,'.')-1)),
    s2:=(mid(v9000,instr(v9000,'.')+1,size(v9000)))/, 
    s2:=(left(s2,instr(s2,'.')-1)),
proc('a9000~'getenv('REMOTE_ADDR')'~'), Coloca en el campo 9000 la dirección IP del cliente desde la cual se accede al iAH ejm: 167.0.186.94
s1:=(left(v9000,instr(v9000,'.')-1)), Extrae los caracteres ubicados antes del primer punto (167) y los coloca en la variable virtual s1
s2:=(mid(v9000,instr(v9000,'.')+1,size(v9000)))/, Extrae los caracteres ubicados después del punto (0.186.94) y los coloca en la variable virtual s2
s2:=(left(s2,instr(s2,'.')-1)), Extrae los caracteres ubicados antes del primer punto de la variable virtual s2 (0)

2. Ahora puede utilizar s1 y s2 en el comando if para condicionar la presentación de la variable que desea controlar de acuerdo a la IP desde la cual se realiza la consulta:

    if val(s1)>250 and val(s1)<300 then
       if val(s2)>80 and val(s2)<90 then
           '<a href="'v856'">Texto Completo</a>'
       fi
    fi

Sustituya los valores utilizados en el if por el rango de IP's conveniente



Hay otra solucion que puede aplicarse cuando ABCD está montado en un servidor windows bajo IIS. Consiste en modificar desde IIS las propiedades en el apartado de seguridad de directorios, el directorio donde estén guardados los archivos pdf cuyo acceso se quiere restringir. Esta opcion permite conceder o denegar acceso al recurso, usando las direcciones IP o los nombres de dominio. (Solución proporcionada por Jesús Melgar Calderón)