edumad Posted March 1, 2006 at 12:02 PM Report #16125 Posted March 1, 2006 at 12:02 PM Boas. Vou implementar autenticação no meu projecto. Vou guardar a password do admin num ficheiro txt usando md5 ou sha1 (qual é melhor?). Quando o admin acede ao site, entra a password uma vez, e é criada uma session. A session terá em principio uma só variável, que verifica se isset para ver se o admin fez login. Não quero usar cookies, para isso tenho de por session.use_cookies = 0 certo? Quero que a sessão seja limitada a 10 minutos (session.cache_expire=10, certo?) Com estas medidas as unicas falhas de segurança que eu posso encontrar são. O admin faz login a sai do pc, deixando-o disponivel durante 10 min... Alguém apanha os packets na rede (?), apanhando a password. Como é que eu posso esconder o txt da password para que passe pela net mais "escondido": ssl? como funca? O sistema é suposto resistir apenas a uns wize guys em informática e não a crackers. A segurança a sério do servidor vai ser feita por outro ppl, quero é que a forma como a site faz a autenticação não seja uma das fraquezas do sistema.
Ped@ntilva Posted March 1, 2006 at 01:35 PM Report #16132 Posted March 1, 2006 at 01:35 PM Eu não te sei responder às perguntas mas acho que guardar em .txt não é boa ideia. É melhor usar uma BD. Cumps
saramgsilva Posted March 1, 2006 at 03:21 PM Report #16162 Posted March 1, 2006 at 03:21 PM Eu não te sei responder às perguntas mas acho que guardar em .txt não é boa ideia. É melhor usar uma BD. Cumps tambem acho...e nao é dificil de implementar... é pa isso das session ainda nao percebi o objectivo... www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Warrior Posted March 1, 2006 at 11:00 PM Report #16276 Posted March 1, 2006 at 11:00 PM É para saber se o user fez o login correctamente ou não.. Para evitar que seja apanhada na rede julgo que não há solução possível.. alguem que esteja a verificar a comunicação entre os dois lados sabe sempre que resposta dar no futuro quando o servidor fizer as perguntas.. Para evitar trojans podes fazer uma mistura de password e clicks, como se vê em muitos bancos que se tem que marcar o codigo num teclado digital..
satanuke Posted March 2, 2006 at 08:23 PM Report #16408 Posted March 2, 2006 at 08:23 PM Basicamente é assim, apartir do momento do login do utilizador, todas as páginas protegidas vão fazer validações para saber se o user está "loggado" ou não e se tem permissões para as ver. Para isso tens possibilidade de usar Cookies ou Sessions ou ambos, se usares cookies das-lhe um tempo de vida para que sempre que o browser abra a página ele faça logo login, se usares só sessions, a sessão é terminada quando fechares o browser e terás que fazer login da proxima vez. Por opinião pessoal, não gosto muito de guardar passwords em cookies, sinto-me inseguro mesmo que ela esteja codificada em md5, para mim tudo o que seja importante nunca deve ficar do lado do cliente e ficar o mais seguro possivel no servidor mas por exemplo para a funcionalidade do "remember me", guardar username e password em cookies é imprescindivel... tek.readers blog
edumad Posted March 2, 2006 at 08:49 PM Author Report #16414 Posted March 2, 2006 at 08:49 PM Eu cookies, também não penso usar, e penso que só se justifica para comodidades (login automatico - pode ser perigoso) e quando o teu site tem um alto nivel de personalização (foruns por exemplo). O que eu estou a fazer é criar uma sessão e definir uma var: $_SESSION['logged']='yes'; depois as páginas vão checar se a var está deifinida. Já agora, não há forma de criar a sessão artificialmente pois não? Criar a sessão sem fazer login. Não percebo muito bem como funcam as sessões... como eu faço session_start(), mas como é que o server sabe que sessão ir buscar? Também estou com um problema, a sessão acaba automaticamente quando fecho o browser, mas para ficar ainda mais seguro do lado do utilizador (admin) quero que a sessão dure apenas 20 minutos (ao contrário dos 180 min defult), não estou a conseguir fazer isso com: session_cache_expire(20); (repito o comando a cada session_start()).
Warrior Posted March 2, 2006 at 10:24 PM Report #16444 Posted March 2, 2006 at 10:24 PM para isso basta na base de dados que possui os usernames e as passwords, adicionar um campo extra como "time" Quando o user fizer login, guardas aí o timestamp da hora actual (número de segundos desde 1 janeiro de 1970). A cada novo request, fazes a comparação do timestamp actual com o gravado. Quem diz campo na base de dados diz num ficheiro ou qualquer coisa permanente. No teu caso, usaria sessions mesmo.
alfatek Posted March 20, 2006 at 12:59 AM Report #18810 Posted March 20, 2006 at 12:59 AM Ou eu dormi mesmo mt pouco, ou parece-me que há aqui algumas confusões. Sessions e cookies não são "tecnologias" alternativas. As Sessions são um conceito de alto nivel mas que usam cookies para manter o estado. As sessions podem funcionar com base noutra coisa que é passar o sessionid no endereço. Em termos de segurança é irrelevante se usas cookies ou metes o sid no endereço. Qualquer pessoa que escutar a rede vai apanhar o pedido http. Nesse pedido http ele ou lê o conteudo da cookie ou vê o endereço da página com o SID no fim. (é um bocado mais fácil pelo endereço, porque nem é necessário criar uma cookie falsa, é só mesmo copy paste do endereço) Nenhuma das opções é minimamente segura e tens de confiar que a rede é segura até ao website, caso contrário é impossivel garantir a segurança porque todo o trafego HTTP não é encriptado. Se pretendes segurança a única solução é que o servidor seja HTTPS (SSL) e nesse caso a comunicação é encriptada e já é minimamente segura. Se usas cookies ou não, é irrelevante. Isso é implementado a nível do servidor (apache, etc). Quanto ao ficheiro, ele deve estar obviamente, fora da public_html/. Dependendo de como são feitas as coisas usares o ficheiro pode ser mais ou menos seguro que a BD. Mas normalmente é mais seguro meter na BD porque ela já vem "de raiz" com alguma segurança, enquanto que em ficheiro é preciso que o sistema operativo garanta que mais ng pode aceder ao ficheiro, etc.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now