Preciso criar uma regra no IIS (para fazer o rewrite da URL) em que eu consiga passar uma string no formato JSON (colchetes, chaves, vírgula, dois pontos e aspas).
Estou tentando usar isso mas não funciona
<rule name="aplicarFiltro">
<match url="^aplicar-filtro/([A-Za-z0-9])" />
<action type="Rewrite" url="/app/backend/filtros/aplicar.asp?str={R:1}" />
</rule>
Creio que o problema esteja nessa parte da regra expressão regular:
<match url="^aplicar-filtro/([A-Za-z0-9])" />
Alguém conhece algum componente em jquery ou js para parte visual de um calculo matemático, não sei dizer o nome, mas basicamente seria um componente para parâmetro visual de fórmula matermátiva.
Tenho um app que faz questionários e as fórmulas como base, preciso ter um compenente visual para eles mesmos criarem os calculos.
Pior que não encontro nada para dar como exemplo, mas basicamente seria algo como a linha do excel usando parenteses e validando os calculos, preciso que os valores sejam carregados como autocomplete...
Preciso capturar separadamente:
1) Os diretórios (dir1, dir2 e quantos tiverem)
2) Nome da página com sua respectiva extensão
3) O parâmetro com seu respectivo valor (id=123)
Preciso disso para criar umas regras de URL Rewrite no IIS.
Tenho a seguinte REGEX, . Ela serve para detectar se uma URL vem do Youtube ou do Vimeo, e possui os parâmetros necessários.
(?:(?i)(?:https:|http:)?\/\/)?(?:(?i)(?:www\.youtube\.com\/(?:embed\/|watch\?v=)|youtu\.be\/|youtube\.googleapis\.com\/v\/)(?<YoutubeID>[a-z0-9-_]{11,12})|(?:vimeo\.com\/|player\.vimeo\.com\/video\/)(?<VimeoID>[0-9]+))
Ela é totalmente funcional no modelo PCRE (PHP). Testada aqui: https://regex101.com/r/PVdjg0/2
Utilizo estes matches pra testar:
Porém, preciso utiliza-la em um campo HTML dentro do atributo pattern. Por isso, preciso convertê-la para o padrão do JS. Mas aí começam uma série de problemas.
Se eu utilizo como está, recebo o seguinte erro:
? The preceding token is not quantifiable
Testes que realizei:
- Se eu escapar o (?i) desta maneira: (/?i), só são validadas entradas do Vimeo.
- Se eu deixar sem o ?, mesma coisa.
- Se eu retirar a condição (?i), fica case sensitive, e não posso utilizar, pois videos do Youtube tem o parâmetro URL muitas vezes com maisculos, minusculos...
Tenho uma situação onde preciso adicionar um FLAG se o usuário estiver incluindo um link em sua mensagem para que eu possa filtra-la ou não.
Se estiver incluindo um link, preciso checar se esse link está autorizado. Se sim, adiciono um FLAG false, se não, true.
Com links absolutos, isso é simples de ser feito e já tenho feito:
<?php
$regex = "(((https?|ftp):\/\/)?(bit)?([a-z0-9+!*(),;?&=.-]+(:[a-z0-9+!*(),;?&=.-]+)?@)?([a-z0-9\-\.]*)\.(([a-z]{2,4})|([0-9]{1,3}\.([0-9]{1,3})\.([0-9]{1,3})))(:[0-9]{2,5})?(\/([a-z0-9+%-]\.?)+)*\/?(\?[a-z+&$_.-][a-z0-9;:@&%=+/.-]*)?(#[a-z_.-][a-z0-9+$%_.-]*)?)";
$linksAutorizados = ['bit.ly/123'];
$mensagem = [ 'usuario' => 'teste', 'texto' => 'seja bem vindo ao meu site bit.ly/123' ];
$temLink = preg_match ($regex, $mensagem['texto'], $links);
/**
* $links retorna o seguinte array
* 0: "bit.ly/123"
* 3: "bit"
* 7: "ly"
* 8: "ly"
* 13: "/123"
* 14: "3"
*/
if ($temLink) {
/*
* Checo se link da mensagem é igual ao link da lista de linksAutorizados.
* Se o link da mensagem for igual ao link da lista a mensagem não precisa ser filtrada
* Se o link da mensagem for diferente ao link da lista, a mensagem precisa ser filtrada
*/
if ($links[0] == $linksAutorizados[0]) {
$mensagem += [ 'filtrar' => false ];
} else {
$mensagem += [ 'filtrar' => true ];
}
} else {
/*
* Se não encontrar link na mensagem, ela não precisa ser filtrada
*/
$mensagem += [ 'filtrar' => false ];
}
Obs: O acesso aos arrays foi em hardcoded para uma exemplificação mais clara.
O meu problema é:
E se eu quiser liberar links variáveis, ou seja, não importa o subdomínio ou demais parâmetros de querystring, checar somente o dominio
Por exemplo
*.meusite.com.br
meusite.com.br/*
subdominio.meusite.com.br/*
Exemplo de array com links (que podem ser variaveis) autorizados para o usuario:
$linksAutorizados = ['bit.ly/123', 'goo.gl/*', 'meusite.com.br/*' ];
Onde estão os asteriscos seriam os pontos que eu ignoro da verificação para filtro.
Passei o dia fazendo alguns testes e pesquisando material no Stack mas não encontrei nada.