Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

desisto

ajax + asp

Recommended Posts

to fazendo umas aplicacoes pra inserir e remover registros via ajax, e quando rodo localmente ele executa no server

 

na pagina que executa eu coloquei

IF Request.ServerVariables("HTTP_REFERER") <> Request.ServerVariables("SERVER_NAME") and Request.ServerVariables("HTTP_REFERER") = "" THEN
response.write "Página inválida!"
response.End()
end if
mas nao adianta

 

tem como vedar a acao vinda de fora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

se eu rodar localmente o codigo que ta no server, ele inclui o registro no banco

e isso nao deveria acontecer, seria apenas pra incluir se a acao viesse do server e nao local

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em seu IF não deve usar o AND e sim o OR. Testa novamente com essa alteração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei tb e nao deu em nada

andei dando uma procurada na net e vi que o ajax é meio problematico com seguranca

 

como o ajax esta no servidor nao daria esse erro acima

pagina rodando local e chamando o ajax no servidor, nao tem como vetar

teria que meter uma penca de if na pagina que executa a acao

 

ex

funcao de voto

voto(nota,id)

se colocar

voto(1000000,10)

vai computar 1000000 votos no id 10

 

ai teria que colocar if pra rodar de 1à5

tambem pode fica trocando o id que vai sempre funcionar pois nao vai ter como verificar

voto(5,10)

voto(5,13)

voto(5,25)

...

 

ajax é bonitinho mas so pra chamar informacao e nao pra incluir ou remover registros

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso depende muito do programador cara, o fórum, por exemplo, também usa AJAX em algumas coisas, como a edição rápida de posts por exemplo.

 

Você sempre deve validar os dados que estão "entrando" em seu sistema, independente da linguagem utilizada.

 

Uma forma a mais de "segurança" nesse caso é passar junto um valor que já esteja em uma session para verificar se o dado bate com a session do servidor, tipo uma flag aleatória.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas esse caso de votacao você entendeu +- como da o problema ne

 

session referente à que?

uma chave qq que eu passo na hora de votar e recupero na hora de gravar?

 

seria isso?

ha alguma outra forma sem ser session?

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa! vamos ver se posso ajudar.

 

pode explicar melhor, qual o motivo da sua condição no primeiro post?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o codigo do 1º post server pra carregar a pagina apenas no server

se ele pegar a url na funcao ajax e digitar no navegador, o codigo acima trava a pagina

 

usei comparacao via session, mas nao ficou 100%

se eu abrir 2 paginas

- noticia1 - ip 4444

- noticia2 - ip 5555

a session vai ter o valor da ultima pagina ai o voto nao roda se quiser votar na 1ª pagina, teria que atualizar pra ficar com o novo valor

 

alguma outra solucao?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq seriam aplicacoes que ficariam mais funcionais com ajax

como a votacao e outras que ficariam melhores sem o form e atualizacao de pagina

 

por isso ainda nao pretendo abandonar o ajax e sim achar uma solucao

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao pq ainda ta em fase de teste pra verificar a seguranca do novo site

enquanto nao termina optaram por dixar acesso restrito ;/

Compartilhar este post


Link para o post
Compartilhar em outros sites
mas esse caso de votacao você entendeu +- como da o problema ne

 

session referente à que?

uma chave qq que eu passo na hora de votar e recupero na hora de gravar?

 

seria isso?

ha alguma outra forma sem ser session?

o codigo do 1º post server pra carregar a pagina apenas no server

se ele pegar a url na funcao ajax e digitar no navegador, o codigo acima trava a pagina

 

usei comparacao via session, mas nao ficou 100%

se eu abrir 2 paginas

- noticia1 - ip 4444

- noticia2 - ip 5555

a session vai ter o valor da ultima pagina ai o voto nao roda se quiser votar na 1ª pagina, teria que atualizar pra ficar com o novo valor

 

alguma outra solucao?

Com relação a idéia da Session é realmente essa, dar segurança para garantir que os dados do FORM estão vindo realmente do servidor, já que apenas o "real" terá a session correta.

 

No caso da votação, pelo que entendi, é como dar nota? Se for isso restrinja o valor máximo que o script que recupera aceitará. Se a nota máxima é 100 ele não aceita valores maiores que isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é de dar nota sim

eu ja tinha pensado em limitar de 1 a 5, mas acontece o mesmo caso

ele pode mudar o id da noticia e votar em varias apenas em modo local

voto(3,421)

voto(3,422)

voto(3,423)

 

o cara pode por isso em loop de sacanagem ai ja era

 

 

o problema maior sao as outras aplicacoes como remover

Compartilhar este post


Link para o post
Compartilhar em outros sites

É como eu disse, se usar a session randômica ele não poderá usar em "modo local" pois não terá como saber qual é o novo valor da session. Com isso valendo para todas as requisições o sistema estará mais seguros contra ataques de Forms clonado. Da forma que está agora, mesmo fazendo usando FORM e não AJAX o sistema continuará com essa "brecha", pois basta clonar o form e apontar para o endereço completo da página de processamento.

 

Outra coisa, no seu IF inicial, dê um Response.Write nas duas ServerVariables para verificar se estão iguais realmente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o codigo do 1º post server pra carregar a pagina apenas no server

se ele pegar a url na funcao ajax e digitar no navegador, o codigo acima trava a pagina

 

usei comparacao via session, mas nao ficou 100%

se eu abrir 2 paginas

- noticia1 - ip 4444

- noticia2 - ip 5555

a session vai ter o valor da ultima pagina ai o voto nao roda se quiser votar na 1ª pagina, teria que atualizar pra ficar com o novo valor

 

alguma outra solucao?

tem alguma solucao pra isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por questão de segurança não acha melhor isso não ser permitido?

 

Pelo que notei qualquer um pode votar sem ter cadastro ou pelo menos você não armazena quem votou em quem, se armazenasse poderia ter um controle fino melhor até mesmo sobre os casos de votos duvidosos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por questão de segurança não acha melhor isso não ser permitido?

particularmente nao prefiro nao, pq eu costumo abrir varias paginas com noticias e ter que atualizar sempre so pra votar fica cansativo...

 

esse sistema de voto é simples mesmo, sem controle apenas cookie pra nao re-votar

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.