Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou criando uma plataforma onde usuário poderá cadastrar alguns códigos para suas páginas, como por exemplo:
Google Adwords - TAG de conversão
Google Adwords - Tag de remarketing
Seria este três:
html, css, javascript
como deixar o usuário cadastrar sem comprometer a segurança do sistema, como eu faço isso? :huh:
Abraços.
Estas tags possuem algum padrão? Se possuíram, antes de salvar no banco você pode usar expressões regulares para verificar se a tag inserida possui o padrão necessário, se não houver você impede o cadastro para evitar sacanagem no sistema...
A tag do Google Analytics, por exemplo, só muda o UA(ID), neste caso, ao invés do usuário cadastrar o script inteiro, ele cadastraria somente o UA, e você se encarregaria de implementar o script usando o UA inserido. Não sei se rola no padrão destes códigos...
Considere também analisar a possibilidade de usar APIs do Google: https://github.com/googleads/googleads-php-lib/tree/master/examples/AdWords
**Confesso que não li quase nada sobre...*
Talvez você pode fazer algumas verificações para ver se realmente se trata de uma tag de conversão, ou marketing etc, antes de salvar no banco, e escapar palavras como alert, etc.
Boa dica
>
A tag do Google Analytics, por exemplo, só muda o UA(ID), neste caso, ao invés do usuário cadastrar o script inteiro, ele cadastraria somente o UA, e você se encarregaria de implementar o script usando o UA inserido. Não sei se rola no padrão destes códigos...
então sobre isso já tínhamos feito, e é dessa forma para o analitycs
/applications/core/interface/imageproxy/imageproxy.php?img=http://s27.postimg.org/dizfpfbk3/form_ua.jpg&key=874308be289f85c8df15be0a133a34a8f63b83a4cd49f930fc0fa425fe50687f" alt="form_ua.jpg" />
Minha dúvida mesmo e com inserção de outros scripts como por exemplo, o usuário quer cadastrar um script de do chat livezilla que se encontra em outo servidor para para se comunicar com os seus clientes, no caso ele iria inserir algumas tags html
/applications/core/interface/imageproxy/imageproxy.php?img=http://s17.postimg.org/uky3yghvz/img_form.jpg&key=d12e61ff05095ef11eb38eacb25f04751dce98e64524fdd59931967590b34b47" alt="img_form.jpg" />
Minha preocupação é se existe alguma maneira eficaz que reconhece scripts maliciosos, claro que se o usuário cadastrar este tipo de coisa o maior prejudicado vai ser ele, pois teremos um controle sobre isso, gostaria de sugestões que faça isso automaticamente.
vou dar uma olhada nesta api e vejo se extraio alguma coisa dela também
Abraços!
Se o usuário vai ter liberdade de colocar scripts sem estarem pré-autorizados fica díficil fazer algo, eu acho.
Essa é uma das poucas circunstâncias em que salvar as entidades é menos doloroso.
#5
Existe plataformas que aceitam isso, mas não sei como eles fazem este tipo de controle, já tem outras que dificulta tanto que não deixa os clientes mesmo pagando a utilizarem ckeditor nos forms.
Essa é uma das poucas circunstâncias em que salvar as entidades é menos doloroso.
Bruno você fala converter tudo e depois decodificar?
<?php
$orig = "I'll \"walk\" the <b>dog</b> now";
$a = htmlentities($orig);
$b = html_entity_decode($a);Tudo não, só o HTML do banner / plugin que estiver sendo adicionado.
Talvez você pode fazer algumas verificações para ver se realmente se trata de uma tag de conversão, ou marketing etc, antes de salvar no banco, e escapar palavras como alert, etc.