Flash Remoting, anyone?

13 respostas
cv1

Galera, quem já mexeu com Flash Remoting? Algum comentário sobre o assunto?

(Flash Remoting: www.macromedia.com/software/flashremoting/)

13 Respostas

cv1

Uhhh… respondendo ao meu próprio tópico, aí vao mais alguns links:

http://www.onjava.com/pub/a/onjava/2003/02/26/flash_remoting.html
http://www.flash-remoting.com/

cv1

Respondendo DE NOVO ao meu próprio tópico (será que eu sou o único xarope do GUJ que faz isso? alguns tópicos aqui tão parecendo mini-blogs meus):

http://openamf.sourceforge.net :arrow: projeto opensource que reimplementa todas as features do Flash Remoting MX, da Macromedia (que é proprietário e bem caro, até). Está no começo ainda, e já tem muita funcionalidade legal. Tem até gente usando em produção (eu, por exemplo :D)

louds

Li o artigo da onjava. A ideia é muito boa, vai facilitar muito o desenvolvimento com flash.

O negocio me parece uma grande furada. Pq em momento algum ele fala de segurança, ou pelo menos de qualidades.

Pelo que eu entendi, basta eu ter acesso ao servlet que posso causar 1 DOS no container criando 1 zilhao de objetos.

O artigo esqueceu de algo? Ou realmente flash remoting é esse buraco de segurança todo?

urubatan

legal, vou dar uma olhada nisto :slight_smile:

cv1

“louds”:
Pelo que eu entendi, basta eu ter acesso ao servlet que posso causar 1 DOS no container criando 1 zilhao de objetos.

O artigo esqueceu de algo? Ou realmente flash remoting é esse buraco de segurança todo?

Não, o Flash Remoting é nojento mesmo. O pessoal da OpenAMF tá tentando resolver as maiores brechas, mas a segurança toda pode ser resolvida com ServletFilters bem aplicados :wink:

louds

“cv”:

Não, o Flash Remoting é nojento mesmo. O pessoal da OpenAMF tá tentando resolver as maiores brechas, mas a segurança toda pode ser resolvida com ServletFilters bem aplicados ;)

Tem razão, bastaria apenas 1 filter pra resolver o problema, mas ele teria de entender AMF.

Paulo_Silveira

ou o seu amado aspectwerkz. mata direitinho no classico caso de aspectagem para seguranca/logging, falai.

cv1

Exatamente :slight_smile:

Pena que tem algumas checagens que não dá pra fazer só usando AOP. O pessoal do OpenAMF tá meio preocupado com a segurança (mais do que a Macromedia, aliás), especialmente com ataques tipo denial-of-service. Um problema de fazer com AOP, nesse caso, seria saber de onde estão vindo os requests, para decidir se é preciso negá-los ou não.

Tem outra falha de segurança que não chega a ser horrenda, mas que pode trazer problemas tb: o Flash Remoting MX deixa qqer cliente Flash acessar um webservice através do gateway. Ou seja, qualquer servidor que esteja rodando o gateway vira um proxy instantaneo de webservices, pronto pra ser abusado.

PS: Saiu versão nova do AspectWerkz, e agora ele se mudou pra CodeHaus (antes estava na SourceForge): http://aspectwerkz.codehaus.org

cv1

Novidades: o pessoal da CarbonFive lançou uma ferramenta de segurança para gateways Flash Remoting chamada FlashGateKeeper.

URL: http://carbonfive.sourceforge.net/flashgatekeeper/

Rafael_Steil
class Cv {
    private boolean iAnswerMyOwnQuestions;
    // General methods enter here

    // Define auto-anwsering
    public void setAutoAnwsering(boolean auto) {
        this.iAnswerMyOwnQuestions = auto;
    }

    public boolean isAutoAnwseringEnabled() {
        return this.iAnwserMyOwnQuestions;
    }

    // Ask a new question
    public int newQuestion(String question) {
        int questionId;
        // posts a new question etc etc
        // questsionId is generated by the Database,
        // when a new post is inserted

        if (this.isAutoAnwseringEnabled()) {
            this.anwserQuestion(questionId, this.generateAnwser());
        }

        return questionId;
    }

    public void anwserQuestion(int questionId, String msg) {
        // lots of code
    }

    public String generateAnwser() {
        // bla

        return anwser;
    }

    // TODO: put other appropriate methods here
}

public class TestCs {
    pubic static void main(String args[]) {
        Cv cv = new Cv();
        cv.setAutoAnwsering(true);

        // Other declarions ans initializations.. 

        // Make cv help the other guys from GUJ
        // ( and himself, with auto-anwsering )
        while (true) {
            cv.newQuestion(randomingQuestionStr);
        }
    }
}
urubatan

UAU, isto que eu chamo de falta de sono :slight_smile:

urubatan

bom, estou começando um projeto em que provavelmente vou utilizar o flash remoting (pelo menos se isto não complicar demais a minha vida :slight_smile:

se quiserem trocar uma ideia é só falar :slight_smile:

cv1

Estou usando Flash Remoting num projeto já, e depois de umas semaninhas de testes com o OpenAMF, joguei o Flash Remoting pra J2EE fora. Valeu a pena, até agora :slight_smile:

Criado 16 de abril de 2003
Ultima resposta 2 de jun. de 2003
Respostas 13
Participantes 5