Ir para conteúdo

POWERED BY:

Arquivado

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

davisvasconcellos

session é segura

Recommended Posts

Pessoal,

Estou com uma dívida quanto a segurança de sessions.

em uma determinada aplicação, terei mais de um banco de dados. dependendo da situação o sistema deverá carregar um bd específico.

portanto estava pensando em passar a conexão por session. assim já que o sistema é o mesmo, mantenho o mesmo site e altero somente o banco.

 

mais ou menos assim:

usuário loga e pega as informações

user 1 --> info db-01

user 2 --> info db-01

user 99 --> info db-02

user xx --> info db-xx

 

salvo as informações da conexão do DB na session e utilizo-as para as próximas conexões

 

é seguro passar estas informações por sessions?

 

tem alguma saída mais "elegante"

 

abs

 

Davis

Compartilhar este post


Link para o post
Compartilhar em outros sites

conexões atraves de session não é recomendável, Armazenar conexões ADO costuma ser uma estratégia ruim. Se um objeto Connection for armazenado no objeto Application e usado por todas as páginas, haverá uma disputa entre as páginas pelo uso desta conexão. Se o objeto Connection for armazenado num objeto ASP Session, então uma conexão ao banco de dados será criada para cada novo usuário que se conecte ao site. Isto remove o benefício do pooling de conexões e adiciona uma carga extra tanto para o servidor Web quanto para o banco de dados. Ao invés de armazenar conexões ao banco de dados, crie e destrua objetos ADO em cada página ASP que use ADO. Isto é eficiente, porque o IIS habilita automaticamente o pooling de conexões tanto ODBC como OLEDB. Isto garante que a criação e destruição de conexões em cada página seja eficiente. Você, no entanto, deve lembrar-se de fechar e destruir explicitamente todas as conexões que não esteja mais usando. Caso você não use o método Close do objeto Connection e atribua Nothing à variável usada para manter uma referência ao objeto, o IIS não acolherá a sua conexão no pooling para ativá-la na próxima requisição por uma conexão.

se você tiver um server bem configurado e um gerenciamente das mesmas ,as sessions trabalham com eficiencia, um server mal configurado pode ser foco de sessiom-mirror (espelhamento de sesssões) onde pode expelhar seu carrinho de compras inteir

Compartilhar este post


Link para o post
Compartilhar em outros sites

já procurei pro session mirror e nao achei. tem alguma referência?.

 

de qualquer forma eu não estou querendo colocar a conexão inteira na session.

a só existiria uma conexão como atualmente existe. abrindo e fechando ao final.

a session somente receberia as informações referentes ao caminho da base de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

com disse,não é recomendável conexões atraves de session

tenho alguns code para dar uns flood no server atraves de session-mirror

Compartilhar este post


Link para o post
Compartilhar em outros sites

com disse,não é recomendável conexões atraves de session

tenho alguns code para dar uns flood no server atraves de session-mirror

 

 

tem algum material para eu poder ver?

 

quanto ao problema, eu não quero abrir a conexão com a session, quero somente salvar informações como por ex o caminho do server di banco na session.

 

se eu tenho dois bancos e dois usuários que se conectam um em cada respectivamente, mas tem o mesmo site.

 

USER A

USER B

 

[sITE]

 

BANCO-A

BANCO-B

 

 

tem alguma ideia para isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode criar uym arquivo config.asp, onde nele você pode ter as informações tipo assim:

 

<%
'*************** EDITE CONFORME CONFIG. DE SUA APLICAÇÂO

' Alterar caminho para banco de dados
strDBPath = Server.MapPath("/blog/blog.mdb")

' Alterar caminho para RSS feed
xmlpath = Server.MapPath("/blog/xml/rss.xml")

' Mudar para o domínio direito
strLink = "http://www.aideia.com"

' Mudar isso se dentro de uma pasta ex ex "/blog/" ou deixar empty "/" seroot
strFolder = "/blog/"

'format de Time se24 horas empty "" senão "ampm" se AM/PM
timeFormat = ""

'Time zone exemplo "+0100" or "GMT"
zTime = "GMT"

'*************** STOP
'On error resume next

blogName = "Blog X.1"


sConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="& strDBPath &";Persist Security Info=False;"

set conn = Server.CreateObject("ADODB.Connection")

sub OpenDB(sConn)
conn.open sConn
end sub

sub CloseDB()
conn.close
set conn = nothing
end sub

%><!--#include file="adovbs.inc"--><!--#include file="function.asp"-->

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.