ramonszo 0 Denunciar post Postado Setembro 4, 2009 Tenho uma página que salva os dados, com uma requisição em ajax. como evitar que outros sites "requisitam" essa página? Ou seja, liberar o acesso a essa página só para o meu domínio? Compartilhar este post Link para o post Compartilhar em outros sites
~TiuTalk~ 7 Denunciar post Postado Setembro 4, 2009 Você pode usar a variável $_SERVER... Dá um print_r() nela. :) Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 4, 2009 $_SERVER['HTTP_REFERRER'] mas não é aconselhável uso desse parâmetro global ele pode retornar "null" ou vazio, mesmo dentro do domínio válido, o que poderia ocasionar em falha na requisição XMLHTTPREquest Isso depende do browser cliente. Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 4, 2009 Com referrer, se alguém por exemplo usa o cURL pra pegar minha página, ele não pode alterar o referrer? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 5, 2009 Com referrer, se alguém por exemplo usa o cURL pra pegar minha página, ele não pode alterar o referrer?também.. mas isso poderia até ser relevante o problema maior é que o referrer retorna "null" mesmo para requisições legítimas, dependendo do tipo de browser do cliente. avalie se é viável utilizar captcha ou algo do gênero Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 5, 2009 Bom, como os meus formulários requerem que o usuário seja cadastrado, se eu por exemplo, der uma chave pra cada usuário, tipo um MD5, e enviar essa chave em todos os forms, pra validar ela, dá certo? :s Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 6, 2009 como faria para enviar a "chave criptografada" ? o usuário teria que digitar ? enviaria por meio de um campo tipo hidden ? Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 6, 2009 Enviaria por um input hidden, ou por um "var key='xxx'" no Javascript (já que a maioria dos meus formulários são Ajax) Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 6, 2009 nesse caso não há nenhuma segurança citando um exemplo, seria o mesmo que fechar a porta de uma casa e deixar a chave no chão, na frente da porta. acredito que para o seu caso, o ideal seria uso de captcha Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 6, 2009 Mas, a idéia seria proteger os formulários de requisições externas, e para isso eles iriam ter q saber a chave, que é única pra cada usuário. Já no meu site, o sistema iria saber as chaves, e valida-las... Compartilhar este post Link para o post Compartilhar em outros sites
André D. Molin 15 Denunciar post Postado Setembro 6, 2009 O problema é esse. Se tu deixa a chave num input hidden, qualquer site externo pode ler esta chave. Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 6, 2009 Mas aqui ele só leria a chave se o usuário permitisse... ou se o usuário executasse scripts na conta dele... Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 6, 2009 Mas aqui ele só leria a chave se o usuário permitisse... ou se o usuário executasse scripts na conta dele... ?? esse formulário é restrito para usuários que estão logados/autenticados ? Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 6, 2009 sim. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 6, 2009 então, qual a preocupação com bots ? Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 6, 2009 Não é com bots, é com pessoas, que podem criar uma página maliciosa, por exemplo, pro usuário deletar algum item da conta dele.Eu achei essa idéia da Key boa, pois assim a pessoa que criar tal página, teria que saber a Key, que só o usuário sabe. Eu só não sei agora se essa idéia da pra evitar algo. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 6, 2009 Não é com bots, é com pessoas, que podem criar uma página maliciosa em negrito, o que seriam essas páginas maliciosas ? páginas clone ? não entendo ainda qual a preocupação. se a página do usuário é restrita somente à conta do usuario, como outra pessoa poderá entrar e fazer algo ? Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 7, 2009 Páginas fake, ou também, qualquer pagina, que contenha algum código em javascript, que crie e envie um formulário invisivel, e se o usuário tiver logado no meu site, o formulário irá ser aceito. Por exemplo, em javascript: <iframe name="myframe" style="width:0px;height:0px;border:0px"></iframe> <script type="text/javascript"> function fillframe() { mf = window.frames["myframe"]; html = '<form name="getrichform" action="https://secure.mybank.com/transfermoney.php" method="post">'; html = html + ' <input type="hidden" name="ammount" value="all"/>'; html = html + ' <input type="hidden" name="to" value="my friend bob"/>'; html = html + ' <input type="hidden" name="when" value="right now"/>'; html = html + '</form>'; mf.document.body.innerHTML = html; mf.document.getrichform.submit(); } </script> Se isso tivesse em alguma página, e eu tivesse logado no site desse banco, eu ia dar todo meu dinheiro pra alguma pessoa. É mais ou menos isso que eu quero evitar. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Setembro 7, 2009 utilize captcha.. Compartilhar este post Link para o post Compartilhar em outros sites
ramonszo 0 Denunciar post Postado Setembro 7, 2009 Captcha não dá né.. imagina qualquer ação q o usuário for executar ele ter q digitar.. ele iria sair do meu site na hora. Compartilhar este post Link para o post Compartilhar em outros sites