Saltar para o conteúdo principal
Versão: Próximo

WA SET URL FILTERS

WA SET URL FILTERS ( {* ;} objeto ; arrFiltro ; permitirArrRecusar )

ParâmetroTipoDescrição
*OperadorSe especificado, objeto é um nome de objeto (string); se omitido, objeto é uma variável
objetoanyNome objeto (se * for especificado) ou Variável (se * é omitido)
arrFiltroText arrayArray filtros
permitirArrRecusarBoolean arrayArray autorizar- recusar

Esse comando não é seguro para thread e não pode ser usado em código adequado.

Descrição

O comando WA SET URL FILTERS permite colocar um ou mais filtros para a área Web designada pelos parâmetros * e objeto.

Antes de carregar toda página solicitada pelo usuário, 4D consulta a lista de filtros com o objetivo de verificar se a URL objetivo está permitido. A avaliação da URL está baseada nos conteúdos dos arrays arrFiltro e permitirArrRecusar.

Se a URL solicitada não estiver autorizada, não se carrega e se gera o evento de formulário On URL Filtering.

Os arrays arrFiltro e permitirArrRecusar devem estar sincronizados.

  • Cada elemento do array arrFiltro deve conter um URL a filtrar. Pode utilizar * como coringa para substituir um ou mais caracteres.
  • Cada elemento correspondente no array permitirArrRecusar deve conter um booleano indicando se a URL deve ser autorizado (True) ou recusado (False). Em caso de contradição a nível dos parâmetros (autorização e recusa de uma mesma URL), será considerada a última configuração.

Para desativar o filtro dos URLs, chame o comando e passe arrays vazios ou passe, respectivamente, os valores "*" e True nos últimos elementos dos arrays arrFiltro e permitirArrRecusar.

Quando tiver executado o comando, os filtros são transformados em propriedade da área Web. Se os arrays arrFiltro e permitirArrRecusar são apagados ou reinicializados, os filtros permanecem ativos sempre que o comando não tiver sido executado novamente. Para conhecer os filtros ativos para uma área, deve utilizar o comando WA GET URL FILTERS.

Importante: o filtro dos URLs realizado por este comando apenas aplica a qualquer requisição para mudar a URL primária da página, seja do usuário, código javascript ou código 4D, exceto para o comando [#cmd id="1020"/] e URLs iniciando com "javascript:".

Exemplo 1

Imagine que deseja permitir acesso todos sites web .org, .net e .fr:

 ARRAY TEXT($filtros;0)
 ARRAY BOOLEAN($permitirRecusar;0)
 
 APPEND TO ARRAY($filtros;"*.org")
 APPEND TO ARRAY($permitirRecusar;False)
 APPEND TO ARRAY($filtros;"*.net")
 APPEND TO ARRAY($permitirRecusar;False)
 APPEND TO ARRAY($filtros;"*.fr")
 APPEND TO ARRAY($permitirRecusar;False)
 WA SET URL FILTERS(MinhaWArea;$filtros;$permitirRecusar)

Exemplo 2

Imagine que deseja acessar todos os websites exceto russos (.ru):

 ARRAY TEXT($filtros;0)
 ARRAY BOOLEAN($permitirRecusar;0)
 
 APPEND TO ARRAY($filtros;"*") //Selecionar tudo
 APPEND TO ARRAY($permitirRecusar;False) //Recusar tudo
 APPEND TO ARRAY($filtros;"www.*.ru") //Selecionar *.ru
 APPEND TO ARRAY($permitirRecusar;True) //Permitir
 WA SET URL FILTERS(MinhaWArea;$filtros;$permitirRecusar)

Exemplo 3

Você pode permitir acesso ao web site 4Ds (.com, .fr, .es, etc.):

 ARRAY TEXT($filtros;0)
 ARRAY BOOLEAN($permitirRecusar;0)
 
 APPEND TO ARRAY($filtros;"*") //Selecionar tudo
 APPEND TO ARRAY($permitirRecusar;False) //Recusar tudo
 APPEND TO ARRAY($filtros;"www.4D.*") //Selecionar 4d.fr, 4d.com...
 APPEND TO ARRAY($permitirRecusar;True) //Permitir
 WA SET URL FILTERS(MinhaWArea;$filtros;$permitirRecusar)

Exemplo 4

Você quer autorizar o acesso local à documentação apenas (que fica na pasta C://doc):

 ARRAY TEXT($filtros;0)ARRAY BOOLEAN($PermitirRecusar;0)
 
 APPEND TO ARRAY($filtros;"*") //Selecionar tudo
 APPEND TO ARRAY($PermitirRecusar;False) //Negar tudo
 APPEND TO ARRAY($filtros;"file://C:/doc/*")
  //Selecionar a rota ao arquivo:// autorizado
 APPEND TO ARRAY($PermitirRecusar;True) //Autorizar
 WA SET URL FILTERS(MinhaWArea;$filtros;$PermitirRecusar)

Exemplo 5

Imagine que deseja permitir acesso para todos os sites, exceto um, por exemplo o site Elcaro:

 ARRAY TEXT($filtros;0)
 ARRAY BOOLEAN($permitirRecusar;0)
 APPEND TO ARRAY($filtros;"*")
 APPEND TO ARRAY($permitirRecusar;True) //Permitir tudo
 APPEND TO ARRAY($filtros;"*elcaro*") //Recusar todo o conteúdo do elcaro
 APPEND TO ARRAY($permitirRecusar;False)
 WA SET URL FILTERS(MinhaWArea;$filtros;$permitirRecusar)

Exemplo 6

Imagine que deseja negar o acesso a endereços IP específicos:

 ARRAY TEXT($filtros;0)
 ARRAY BOOLEAN($permitirRecusar;0)
 APPEND TO ARRAY($filtros;"*") //Selecionar tudo
 APPEND TO ARRAY($permitirRecusar;True) //Permitir tudo
 APPEND TO ARRAY($filtros;86.83.*")  //Selecionar endereços IP que começam com 86.83.
 APPEND TO ARRAY($permitirRecusar;False) //Recusar
 APPEND TO ARRAY($filtros;86.1*")  //Selecionar endereços IP que começam com 86.1 (86.10, 86.135 etc.)
 APPEND TO ARRAY($permitirRecusar;False) //Recusar
 WA SET URL FILTERS(MinhaWArea;$filtros;$permitirRecusar)
  //(Note que o endereço IP de um domínio pode variar).

Ver também

WA GET URL FILTERS
WA SET EXTERNAL LINKS FILTERS