| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2011 20:33:17
|
joshh
Debugger
Membro desde: 28/03/2010 17:08:19
Mensagens: 52
Offline
|
Peguei um projeto e grande parte dos controllers estão com scope como session... Até que ponto isso pode se tornar um problema?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2011 20:54:26
|
espiaoweb2011
JavaChild
![[Avatar]](/images/avatar/ecf6a2eb4d97ec22a5f14b35f067af2d.png)
Membro desde: 10/11/2011 13:15:49
Mensagens: 118
Offline
|
joshh wrote:Peguei um projeto e grande parte dos controllers estão com scope como session... Até que ponto isso pode se tornar um problema?
Está sendo feito o uso de JSF ?
|
Oracle Certified Java Programmer 6 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2011 21:16:55
|
joshh
Debugger
Membro desde: 28/03/2010 17:08:19
Mensagens: 52
Offline
|
espiaoweb2011 wrote:
joshh wrote:Peguei um projeto e grande parte dos controllers estão com scope como session... Até que ponto isso pode se tornar um problema?
Está sendo feito o uso de JSF ?
Spring 2 + Hibernate + JSF 1.2
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2011 21:24:34
|
espiaoweb2011
JavaChild
![[Avatar]](/images/avatar/ecf6a2eb4d97ec22a5f14b35f067af2d.png)
Membro desde: 10/11/2011 13:15:49
Mensagens: 118
Offline
|
joshh wrote:
espiaoweb2011 wrote:
joshh wrote:Peguei um projeto e grande parte dos controllers estão com scope como session... Até que ponto isso pode se tornar um problema?
Está sendo feito o uso de JSF ?
Spring 2 + Hibernate + JSF 1.2
Tem que analisar o projeto, se foi usado o escopo de sessão, é por que os dados tem que durar mais de uma requisição isso é obvio. A não ser que tenha sido mau programado (acontece muito), vejo isso direto, atributos na sessão sem necessidade.
Quanto a ter problema, já vi muitas pessoas falando disso, mas particularmente não vejo problema algum. Vai de você analisar se estes dados que estão em escopo de sessão, realmente necessitam durar mais de uma requisição.
This message was edited 1 time. Last update was at 20/12/2011 22:04:42
|
Oracle Certified Java Programmer 6 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 07:10:36
|
Victor Neves
JavaEvangelist
![[Avatar]](/images/avatar/52092f83c2d842688d424af6a5e55c7b.jpg)
Membro desde: 12/12/2008 19:18:21
Mensagens: 302
Localização: Brasília - DF
Offline
|
costumo guardar objetos em sessão quando preciso validar dados em server side, isso pode evitar catástrofes (não estou sendo eufemista) mais na frente.... é um consumo a mais de memória considerado aceitável...
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 07:41:36
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
joshh wrote:Peguei um projeto e grande parte dos controllers estão com scope como session... Até que ponto isso pode se tornar um problema?
Não existe problema.....todo o estado da execução do cliente deve ser gerenciado dentro da sessão ao invés de campos html hiden ou cookies.
Única questão a ser lembrada é o tamanho da memoria da JVM. Ou seja, vc precisa ter recursos de escalabilidade compatível com sua demanda de produção, para manter todos os usuários simultâneos.
This message was edited 1 time. Last update was at 21/12/2011 07:50:28
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 07:46:35
|
Victor Neves
JavaEvangelist
![[Avatar]](/images/avatar/52092f83c2d842688d424af6a5e55c7b.jpg)
Membro desde: 12/12/2008 19:18:21
Mensagens: 302
Localização: Brasília - DF
Offline
|
FernandoFranzini wrote:todo o estado da execução do cliente deve ser gerenciado dentro da sessão ao invés de campos html hiden ou cookies.
eu já desconfiava (e apoiava) que isso era o mais correto a se fazer!!
já que voce falou então agora eu tenho certeza! xD hehehehe
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 07:52:36
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
Der Meister wrote:
FernandoFranzini wrote:todo o estado da execução do cliente deve ser gerenciado dentro da sessão ao invés de campos html hiden ou cookies.
eu já desconfiava (e apoiava) que isso era o mais correto a se fazer!!
já que voce falou então agora eu tenho certeza! xD hehehehe
Sim...se vc manter o estado em campos hidden e cookies, sua aplicação ficara aberta para uma serie de atackes.
Por isso, mantenha tudo na session do usuário apenas se preocupando recursos de memoria.
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 07:59:30
|
Victor Neves
JavaEvangelist
![[Avatar]](/images/avatar/52092f83c2d842688d424af6a5e55c7b.jpg)
Membro desde: 12/12/2008 19:18:21
Mensagens: 302
Localização: Brasília - DF
Offline
|
FernandoFranzini wrote:
Sim...se vc manter o estado em campos hidden e cookies, sua aplicação ficara aberta para uma serie de atackes.
foi EXATAMENTE a isso quando eu me referi acima em "catástrofes"!!!
por coincidência eu estou terminando de fazer umas modificações de segurança em um produto que a empresa onde eu trabalho comprou de outra empresa, as modificações são justamente validar códigos em server side pegando valores que eu estou armazenando em seção, eu poderia reescrever o projeto e tirar os hiddens mas ai o retrabalho seria beem maior...
meu chefe arregalou o olho quando eu mostrei vários ataques no nosso sistema em teste... e se inclinou na cadeira quando eu disse que ja tinha a solução hahahahahahaha espero que isso me renda boa$ gratificaçõe$ mais pra frente hahahahah
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 08:03:47
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
mais dicas - http://fernandofranzini.wordpress.com/2010/12/16/plano-de-vulnerabilidades/
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 08:12:46
|
Victor Neves
JavaEvangelist
![[Avatar]](/images/avatar/52092f83c2d842688d424af6a5e55c7b.jpg)
Membro desde: 12/12/2008 19:18:21
Mensagens: 302
Localização: Brasília - DF
Offline
|
Fernando, pelo o que voce observa, a maioria dos programadores estão atentos essas vulnerabilidades?
voce observa muito ou pouco código vulnerável?
os programadores mais experientes (10, 15 anos de programação) ainda cometem erros tolos de segurança (tipo esse de armazenar coisas em hidden e nao validar depois) ?
eu não quero ser pretensioso mas eu não vejo quase ninguem (pra nao dizer ninguem) que se preocupe em escrever código seguro!!!
pode ser também por causa da minha idade, 22 anos, 3 de programação, posso ter visto pouca coisa ainda masss... vejo muuuuuuuuito código inseguro por ai...
seria bom acreditar que eu realmente sou privilegiado em ter a noção de segurança que eu tenho mas eu nao conto com esse tipo de coisa eu tenho que estar errado nas minhas especulações
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 09:26:17
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
Der Meister wrote:Fernando, pelo o que voce observa, a maioria dos programadores estão atentos essas vulnerabilidades?
voce observa muito ou pouco código vulnerável?
os programadores mais experientes (10, 15 anos de programação) ainda cometem erros tolos de segurança (tipo esse de armazenar coisas em hidden e nao validar depois) ?
eu não quero ser pretensioso mas eu não vejo quase ninguem (pra nao dizer ninguem) que se preocupe em escrever código seguro!!!
pode ser também por causa da minha idade, 22 anos, 3 de programação, posso ter visto pouca coisa ainda masss... vejo muuuuuuuuito código inseguro por ai...
seria bom acreditar que eu realmente sou privilegiado em ter a noção de segurança que eu tenho mas eu nao conto com esse tipo de coisa  eu tenho que estar errado nas minhas especulações
Sim...tem muita solução vulnerável sim...eu mesmo invadi varias sites semana passada e vou publicar isso no blog nos proximos dias....
Isso acontece por 3 motivos
1 - Desenvolvedor mal preparado - falta de conhecimento, arquitetura, boas praticas etc.
2 - Tempo de entrega - entrega relâmpago faz com que os desenvolvedores apenas se preocupem com funcionalidades e não segurança.
3 - Opção 1 e 2 juntas.
Se vc quer se aprofundar nisso e entregar um solução realmente profissional e segura indico leitura do http://www.amazon.com/Secure-Java-Web-Application-Development/dp/1439823510
Na verdade todo desenvolvedor java para web deveria ler esse livro antes de se aventurar no codigo.....
This message was edited 3 times. Last update was at 21/12/2011 09:37:34
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 09:31:39
|
fabim
GUJ Master
![[Avatar]](/images/avatar/d4e3e8180a65648886ff348c7a6bbff5.jpg)
Membro desde: 14/12/2006 19:30:03
Mensagens: 1268
Localização: Vitoria - Espirito Santo
Offline
|
Session é um escopo que, se usado errado (e muitas vezes é) mata a escalabilidade do sistema.
Lembre-se que aquilo que vc esta acumulando na sessao sera um custo POR USUARIO, entao pense 2x antes de guardar uma lista de 20.000 objetos ou qualquer coisa do tipo na Sessão. Não é justo culpar seu Application Server por mal gerenciamento de memoria, heap space essas coisas se vc tem um design de sistema ruim, que nao prevê essas coisas.
|
ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται
Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/12/2011 09:34:56
|
fabim
GUJ Master
![[Avatar]](/images/avatar/d4e3e8180a65648886ff348c7a6bbff5.jpg)
Membro desde: 14/12/2006 19:30:03
Mensagens: 1268
Localização: Vitoria - Espirito Santo
Offline
|
Repita consigo mesmo:
"Eu quero fazer sistemas pra 20-100 usuarios, ou quero um dia construir sistemas que suportem 2000-10000 usuarios simultaneos"?
Repita até que isso lhe induza a ler livros e buscar conhecimento pra segunda opção.
|
ειπεν αυτη ο ιησους εγω ειμι η αναστασις και η ζωη ο πιστευων εις εμε καν αποθανη ζησεται
Sun Certified Web Component Developer
Sun Certified Java Programmer
Sun Certified Java Associate
Sun Certified Business Component Developer - Em Andamento
Bacharelando em Sistemas de Informacao
 |
|
|
 |
|
|