Problema impossivel ¬¬ - urgente -

15 respostas
B

Bom Dia pessoal, blza??

Cara estou com um problema praticamente impossivel de resolver…

Vou tentar explicar, espero que entendam.

Tenho uma pagina web, que abre uma popup redirecionando para uma pagina do banco do brasil.

uso o: window.open().

Até ai tudo bem, o que acontece é que depois do cliente realizar a transação no popup com url do banco do brasil, o banco disponibiliza um botao que o faz retornar para minha pagina. Ou seja, a pagina de popup que estava no banco do brasil volta a estar dentro do meu site e servidor.

O problema:
Gostaria que a pagina do popup, agora nao mais no banco do brasil, mas em meu dominio acesasse a pagina PAI(a pagina que usei para abrir o popup) fazendo um reload nela…

Amigos, antes que digam para eu utilizar
window.opener
parent.reload

ou enfim, qualquer funcao de javascript, já aviso:

DA A MENSAGEM DE ERRO PERMISSAO NEGADA, POIS QUANDO VC ABRE UM POPUP ACESSANDO UMA PAGINA QUE NAO ESTA NO MESMO SERVIDOR DA PAGINA PAI, AUTOMATICAMENTE É BLOQUEADO O ACESSO DO POPUP A PAGINA PAI POR QUESTOES DE SEGURANÇA.

ESTAS INFORMACOES ESTAO NO SITE DA MICROSOFT E MOZILA…

Gostaria de saber se alguem tem uma solucao para isso…

Essa só mestre pra resolver… hehehehe

Aguardo uma ajuda ae!

15 Respostas

hudson.negao

ja tento usando iframe?

Marcio_Nogueira

Como assim? Reload de qual página? :wink:

B

Reload da pagina pai…

Não posso usar iframe, o banco do brasil nao funciona, exige que sua transação seja realizada em nova janela.
Ao terminar a transacao tem um link no banco do brasil que volta para uma pagina no meu servidor, porém continua dentro do popup, quero que o popup se feche e atualize a pagina PAI com o link que esta…

Sacou?

T

A dica é ver se existe um site que usa esse site do BB e faz as coisas exatamente do jeito que você quer, e copiar a solução. Nada como um “View Source”…

B

O pior é que não tem, todos continuam dentro do popup… Ou ao inves de abrir popup usam a propria pagina que estão para chegar ao banco do brasil, o que não me ajudaria… ninguem tem nenhuma ideia???

Focao

faz algo do tipo

window.location="/suaPaginaDeRetornojsp";
 window.open('seuPopUp.jsp','','toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=820,height=600,left = 10,top = 10');

faz o reload primeiro…

vai abrir o popup e ficar a página que vc quer aberta

T

Bom, vou devolver isto aos universitários. De qualquer maneira, deve haver uma razão muito forte para que ninguém tenha conseguido fazer uma coisa parecida com o que você quer; pelo que entendi, você até achou as razões, mas não conseguiu justificar para seu chefe por que é que não dá para fazer o que ele quer.

B

Não posso fazer o reload primeiro…
não tem como, só posso fazer depois que o banco do brasil realiza a transacao entende? a pagina que ele chama é de confirmacao no meu sistema, não posso chamar ela antes de abrir o popup sacou?

Abraço!

B

Bom, vou devolver isto aos universitários. De qualquer maneira, deve haver uma razão muito forte para que ninguém tenha conseguido fazer uma coisa parecida com o que você quer; pelo que entendi, você até achou as razões, mas não conseguiu justificar para seu chefe por que é que não dá para fazer o que ele quer.

Voce tem toda a razao… meu chefe até vai entender… Mas realmente gostaria de conseguir fazer isso. por isso o pessoal daqui é minha ultima tentativa, ja que todo mundo eh genio! hehehe

Se não sair daqui, ai eu dou a noticia pra eles.

Abraço!

Focao

bruno.couraos:
Não posso fazer o reload primeiro…
não tem como, só posso fazer depois que o banco do brasil realiza a transacao entende? a pagina que ele chama é de confirmacao no meu sistema, não posso chamar ela antes de abrir o popup sacou?

Abraço!

Hummm estendi agora… abre um popUp seu que contenha o popUp do banco dentro…

e no evento de fechar esse popup da o reload da sua página…

Pq o banco nunca vai dar o response pra vc…

e vc nunca vai ter o sucesso da transação pq é do banco a página… manjou ?

B

Focão:
bruno.couraos:
Não posso fazer o reload primeiro…
não tem como, só posso fazer depois que o banco do brasil realiza a transacao entende? a pagina que ele chama é de confirmacao no meu sistema, não posso chamar ela antes de abrir o popup sacou?

Abraço!

Hummm estendi agora… abre um popUp seu que contenha o popUp do banco dentro…

e no evento de fechar esse popup da o reload da sua página…

Pq o banco nunca vai dar o response pra vc…

e vc nunca vai ter o sucesso da transação pq é do banco a página… manjou ?

Hehehehe, quase lá…

Seguinte,

1 - Minha pagina abre um popup com a url do banco do brasil
2 - Meu cliente faz a transação dentro deste popup
3 - Depois que termina a transação o proprio banco tem um botão de da um post para a minha pagina
4 - A pessoa clica neste botão e o popup que estava no banco do brasil agora é redirecionado para minha pagina

O problema é que minha pagina esta no popup e não na pagina PAI que utilizei para abrir este popup entende?
Mas como ja esta em minha pagina, poderia usar javascript para dar reload na pagina PAI, certo? ERRADO, da permissão negada por segurança, nenhum popup que va para uma pagina fora do servidor da pagina que a abriu, tem autorização para mecher na pagina que O abriu… sacou??? Este é o meu problema! hehehe

Focao

… da permissão negada por segurança,

Problema das diretivas de segurança do seu Browser…

ou vc cria um certificado, ou configura o browser na mão…

B

Focão:
… da permissão negada por segurança,

Problema das diretivas de segurança do seu Browser…

ou vc cria um certificado, ou configura o browser na mão…

Como assim???

Não adianta configurar o meu browser, tem que configurar o do mundo inteiro hehehehe.
Tem que funcionar para os meus clientes entende??

Como assim certificado??? Podes me explicar melhor???
Pode ser uma saida…

Focao

usa keytool manja de SSL ?

pelo q vi seu problema vai ser definir a chave pública ou privada…

da uma olhada nesse link

http://www.guj.com.br/java.tutorial.artigo.141.1.guj

dependendo… seu site todo ficaria blindado…

ou vc poderia usar o no site o certificado do banco…

boa sorte… é punk fazer isso… mas fica show…

Focao

Usando o Keytool

Gerar o par de chaves (pública e privada)

Este passo deve ser executado se ainda não houver um par de chaves a ser usado no processo de assinatura

Para criar o par de chaves utiliza-se a ferramenta keytool do JDK cujas opções são:

Keytool -genkey {-alias alias} {-keyalg keyalg} {-keysize keysize} {-sigalg sigalg} {-dname dname} {-keypass keypass} {-validity valDays} {-storetype storetype} {-keystore keystore} {-storepass storepass} {-v} {-Jjavaoption}

alias þ Nome pelo qual as chaves serão reconhecidas e armazenadas no keystore (banco de chaves). Ex: mykey
keyalg þAlgoritmo de criptografia utilizado para a criação das chaves. Este argumento é opcional, se nada for especificado o algoritmo utilizado será o DSA (Digital Signature Algorithm). Neste projeto foi utilizada esta opção default.
keysize þ Tamanho da chave que será gerada. O algoritmo DSA suporta tamanhos de 512 a 1024 bits, sendo o tamanho necessariamente múltiplo de 64. Para qualquer algoritmo o tamanho default é 1024.
sigalg þAlgoritmo de criptografia utilizado para assinar o JAR. Este argumento é opcional, se nada for especificado o algoritmo utilizado será o DSA.
dname þ Nome da entidade que gerará o par de chaves Ex:
CN=Banco do DAS, OU=LCMI, O=UFSC, L=Florianópolis, S=Santa Catarina, C=BR
Onde : CN = nome comum, OU = unidade organizacional (departamento, divisão), O = nome da organização, L = nome da localidade (cidade), S = estado, C = código do país.
keypass þ Senha utilizada para a proteção da chave no keystore.
validity þ Número de dias que o certificado deve ser válido.
storetype þ Permite definir a forma de armazenamento e o formato dos dados do keystore. Por default o formato é JKS (tipo proprietário da implementação de keystore fornecido pela Sun).
keystore þkeystore onde as chaves serão armazenadas. Se nada for especificado serão armazenadas no User.Home.keystore (em geral c:\windows.keystore), se não existir este será criado.
storepass þ Senha protetora do keystore.
v þ Mostra o certificado em forma legível

Para a criação das chaves empregadas neste projeto utilizou-se a seguinte linha de comando:

keytool -genkey -dname “cn=Banco do Das, ou=LCMI, o=UFSC, c=BR” -alias key -keystore u:\grupo\mykeystore -storepass 123456 -validity 180

Quando as chaves são geradas (comando ?genkey) um certificado auto-assinado é criado. Caso deseje-se trocar este certificado por um certificado reconhecido por uma empresa confiável, deve-se fazer um pedido de certificado de assinatura (CSR CerticateSigning Request), e o resultado desta solicitação deve ser importado para o keystore.

Criado 27 de janeiro de 2009
Ultima resposta 27 de jan. de 2009
Respostas 15
Participantes 5