japalfalfa 1 Denunciar post Postado Julho 12, 2007 boa tarde pessoal eh o seguinte,tem alguma possibilidade de md5($senha) dar problema ou estar desabilitado?obrigado pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
JackDenio 0 Denunciar post Postado Agosto 31, 2007 Muito bom fabyo, so uma dúvida..quando vai sair o "nível avançado"? http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Agosto 31, 2007 To acabando um sistema completo e dai vou postar aqui Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Afonso 0 Denunciar post Postado Setembro 3, 2007 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Afonso 0 Denunciar post Postado Setembro 3, 2007 Cara eu duplico minha resposta e nao to conseguindo excluir.. como faço?.. http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif Compartilhar este post Link para o post Compartilhar em outros sites
Paulo Afonso 0 Denunciar post Postado Setembro 3, 2007 Cara, gostaria de saber como eu faço para restringir o acesso.Pois tipo o cara pode ser visitante, administrador ou cliente.Como eu farei para em uma determinada pagina ele informe q nao pode acessar se é visitante. E se for administrador ele acesse outras paginas. Se for cliente só algumas paginas.Fico grato. Compartilhar este post Link para o post Compartilhar em outros sites
sipmann 2 Denunciar post Postado Setembro 8, 2007 Paulo Afonsotipo... na hora de seta as session você pega e seta tmb o nivel do usuario... por exemplo1 = admin2 = usuario3 = visitanteta dae na pagina q você quer proteger soh pra admin por exemplo bota$nivel = $_SESSION["nivel"] //bota como quise.. só pra pega a variavel você ja deve saber disso!if($nivel==1){include "administracao.php";}elseif($nivel==2){include "painel_de_adm.php";}else{$nivel = 3;echo "Ola visitante!";}espero ter ajudado FLW Compartilhar este post Link para o post Compartilhar em outros sites
newmmax 0 Denunciar post Postado Setembro 12, 2007 valew o script http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
acferrarijr 0 Denunciar post Postado Setembro 14, 2007 Bom diaSou novo em desenvolvimento em PHP, mas estou gostando da linguagem.Estou montando uma aplicação aqui e estou utilizando o login postado pelo Fabyo para autenticação, pois o achei simples e de facil entendimento.Mas como nem tudo é facil, estou com um problema:-- Criei a pagina de login-- Criei o protecao.php-- Criei a base e inclui o usuario teste/123 com o MD5 na senha-- Fiz a chamado do protecao.php na pagina de login e na pagina da aplicação-- Alterei o php.ini com o parametro de session.save_pathAté ai tudo ok, mas quando na pagina de login, eu digito o usuario e senha, a tela entre em status de carregando no browser e o diretório definido no session.save_path está sendo inundado de arquivos sess_xxxxxxx e a tela do login não sai do lugar, fica travada até dar time-outAlguem sabe me dizer o que está errado ? Acredito que seja a configuração do PHP, mas não sei o que é, pois isso aconteceu após a configuração do session.save_path pois a pagina estava anteriormente apresentando erro de CGIDesde já agradeçoAtenciosamenteAcferrarijr Compartilhar este post Link para o post Compartilhar em outros sites
RMZS 0 Denunciar post Postado Outubro 6, 2007 Boas,Eu não entendo muito de progamação mas aqui vai a minha duvida e se me puderem ajudar agradeço muito.Eu quero criar uma homepage mas só quero que acessem nela quem eu quiser.Será possivel criar um login ou password pra fazer isso??Mais uma vez desculpem a ignorancia...AbraçosPs- tou utilizando frontpage Compartilhar este post Link para o post Compartilhar em outros sites
JackDenio 0 Denunciar post Postado Outubro 6, 2007 Sim seria possível,de uma lida melhor nesse mesmo tópico desse o começo,pois contem a solução do seu problema..Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
rvlira 0 Denunciar post Postado Novembro 28, 2007 Pessoal, queria ver se alguém consegue me dar uma idéia. Aqui comigo o script funcionou 100%, mas na página que eu implementei eu tenho uma página principal assim: <!-- Aqui tem vários comandos html no início --> <?php //Aqui eu dou um include na pagina que o usuario escolheu include($pagina.".php"); ?> <!-- Aqui vem o final da página em HTML --> É mais ou menos isso. Ou seja, quando o usuário clica em http://www.site.com.br/index.php?pagina=fotos eu na verdade carrego o template da página em index.php e faço um include do foto.php. O problema é que se o usuário descobrir isso, ele pode simplesmente acessar: http://www.site.com.br/fotos.php e aí não passa pelo include do "protecao.php" que está no index. E se eu adicionar a verificação no fotos.php alem do index.php eu vou estar fazendo a verificação duas vezes. Seria isso mesmo? A única opção que eu tenho é fazer a verificação duas vezes? Não estou conseguindo achar outra solução... Grato pela ajuda. t+! Compartilhar este post Link para o post Compartilhar em outros sites
TheGlorious 0 Denunciar post Postado Dezembro 8, 2007 Não to conseguindo logar nem a pau, dá sempre usuário inválido, mas os dados estão no bd.. :(Alguém pode me dar uma luz por favor? Dá usuário inválido sempre.. os dados são cadastrados corretamente, mas não valida.. Resolvido.. ufa http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Não quer dizer como? É que estou com o mesmo problema. Compartilhar este post Link para o post Compartilhar em outros sites
italo web master 0 Denunciar post Postado Dezembro 10, 2007 Exemplo simples de um sistema login usando session e protegido contra ataques sql injection nivel iniciante mas basicamente você precisa só colocar nas suas paginas o include "protecao.php" index.php: <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><? include "protecao.php"; ?> </div><!--php2--></div><!--php3--> login.html: <div class="html">[color= #009900;][url="http-~~-//december.com/html/4/element/html.html"]<span style="color: #0000BB;"><html>[/url] <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/head.html"]<span style="color: #0000BB;"><head>[/url] <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/title.html"]<span style="color: #0000BB;"><title>[/url]Sistema de Login<span style="color: #009900;"><span style="color: #0000BB;"></title> <span style="color: #009900;"><span style="color: #0000BB;"></head> <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/body.html"]<span style="color: #0000BB;"><body>[/url] <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/h1.html"]<span style="color: #0000BB;"><h1>[/url]Sistema de Login<span style="color: #009900;"><span style="color: #0000BB;"></h1> <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/form.html"]<span style="color: #0000BB;"><form[/url] <span style="color: #000066;">action=<span style="color: #ff0000;">"index.php" <span style="color: #000066;">method=<span style="color: #ff0000;">"post" <span style="color: #000066;">name=<span style="color: #ff0000;">"login" <span style="color: #000066;">id=<span style="color: #ff0000;">"login"<span style="color: #0000BB;">></a> <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/label.html"]<span style="color: #0000BB;"><label[/url] <span style="color: #000066;">for=<span style="color: #ff0000;">"nome"<span style="color: #0000BB;">></a>Nome:<span style="color: #009900;"><span style="color: #0000BB;"></label> <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/input.html"]<span style="color: #0000BB;"><input[/url] <span style="color: #000066;">type=<span style="color: #ff0000;">"text" <span style="color: #000066;">name=<span style="color: #ff0000;">"nome" <span style="color: #000066;">id=<span style="color: #ff0000;">"nome" /<span style="color: #0000BB;">></a> <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/label.html"]<span style="color: #0000BB;"><label[/url] <span style="color: #000066;">for=<span style="color: #ff0000;">"senha"<span style="color: #0000BB;">></a>Senha:<span style="color: #009900;"><span style="color: #0000BB;"></label> <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/input.html"]<span style="color: #0000BB;"><input[/url] <span style="color: #000066;">type=<span style="color: #ff0000;">"password" <span style="color: #000066;">name=<span style="color: #ff0000;">"senha" <span style="color: #000066;">id=<span style="color: #ff0000;">"senha" /<span style="color: #0000BB;">></a> <span style="color: #009900;">[url="http-~~-//december.com/html/4/element/input.html"]<span style="color: #0000BB;"><input[/url] <span style="color: #000066;">type=<span style="color: #ff0000;">"submit" <span style="color: #000066;">name=<span style="color: #ff0000;">"submit" <span style="color: #000066;">value=<span style="color: #ff0000;">"Entrar" <span style="color: #000066;">style=<span style="color: #ff0000;">"cursor: pointer;" /<span style="color: #0000BB;">></a> <span style="color: #009900;"><span style="color: #0000BB;"></form> <span style="color: #009900;"><span style="color: #0000BB;"></body> <span style="color: #009900;"><span style="color: #0000BB;"></html></div> protecao.php: <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><span style="color: #DD0000; font-weight: bold;"><?php[/color] session_start(); //função anti sql injection function anti_injection($txt) { //Verifico se esta ativado magic_quotes caso esteja desativado uso a função addslashes $txt = get_magic_quotes_gpc() == 0 ? addslashes($txt) : $txt; //referencia: //http://www.php.net/get_magic_quotes_gpc //http://www.php.net/addslashes // retiro da variavel esses caracteres (--, #, *, ;) return preg_replace("@(--|#|*|;|=)@s", "", $txt); } function verifica_usuario($nome, $senha) { //conecto ao servidor de banco de dados passo o nome do servidor usuario e senha mysql_connect("localhost", "usuario", "senha"); // seleciono o banco de dados mysql_select_db("login"); /*faço uma pesquisa perguntando a quantidade de usuarios com o nome e a senha passada pelo usuario usando o count ele conta a quantidade de ocorrencias no select essa maneira é a forma mais rapida e correta desse tipo de pesquisa, muitas pessoas usam o select * from e pega com mysql_num_rows() dessa forma prejudica muito mais o acesso ao banco podendo travar se tiver muitos acessos simutaneos*/ $re = mysql_query("select count(*) as total from usuarios where nome = '$nome' and senha = md5('$senha')"); //referencia: <a href="http://www.php.net/md5" target="_blank">http://www.php.net/md5</a> e <a href="http://www.php.net/mysql_result" target="_blank">http://www.php.net/mysql_result</a> $total = mysql_result($re, 0, "total"); mysql_close(); /* se o total for diferente de 1 é porque o usuario nao esta cadastrado usando dessa forma o resultado esperado sempre sera 1 porque você precisa tbm criar um sistema de cadastros que deixe apenas um usuario ser cadastrado evitando usuarios repetidos */ if($total != 1) { // redireciono para pagina de login header("Location: login.html"); exit; } // se nao existir ja a sessao eu gravo ela if(!isset($_SESSION["dados"])) { $dados["nome"] = $nome; $dados["senha"] = $senha; //gravo a sessao por padrao o php hj ja passa o serialize automaticamente nao precisa mais passar ela $_SESSION["dados"] = serialize($dados); } } //verifico se existe a sessao e ja pego os dados que nela contem if(isset($_SESSION["dados"])) { $dados = unserialize($_SESSION["dados"]); $nome = $dados["nome"]; $senha = $dados["senha"]; verifica_usuario($nome, $senha); } else { //aqui eu verifico se o usuario esta vindo de um formulario e pego os valores $nome = isset($_POST["nome"]) ? anti_injection($_POST["nome"]) : ""; $senha = isset($_POST["senha"]) ? anti_injection($_POST["senha"]) : ""; verifica_usuario($nome, $senha); } ?> </body> </html></div><!--php2--></div><!--php3--> principal.php: <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><?php // incluo a pagina de protecao que faz a verificação do usuario include "protecao.php"; ?> </div><!--php2--></div><!--php3--> pagina2.php: <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php"><?php include "protecao.php"; ?></div><!--php2--></div><!--php3--> banco de dados usado no exemplo: ja tem o usuario Teste senha 123 obs: lembre-se na hora de gravar mais um usuario usar md5 na senha <div class="sql"><span style="color: #993333; font-weight: bold;">CREATE <span style="color: #993333; font-weight: bold;">TABLE usuarios <span style="color: #66cc66;">( id_usuario smallint<span style="color: #66cc66;">(<span style="color: #cc66cc;">5<span style="color: #66cc66;">) <span style="color: #993333; font-weight: bold;">UNSIGNED <span style="color: #993333; font-weight: bold;">NOT <span style="color: #993333; font-weight: bold;">NULL <span style="color: #993333; font-weight: bold;">AUTO_INCREMENT, nome varchar<span style="color: #66cc66;">(<span style="color: #cc66cc;">40<span style="color: #66cc66;">) <span style="color: #993333; font-weight: bold;">NOT <span style="color: #993333; font-weight: bold;">NULL <span style="color: #993333; font-weight: bold;">DEFAULT <span style="color: #ff0000;">'', senha varchar<span style="color: #66cc66;">(<span style="color: #cc66cc;">32<span style="color: #66cc66;">) <span style="color: #993333; font-weight: bold;">NOT <span style="color: #993333; font-weight: bold;">NULL <span style="color: #993333; font-weight: bold;">DEFAULT <span style="color: #ff0000;">'', <span style="color: #993333; font-weight: bold;">PRIMARY <span style="color: #993333; font-weight: bold;">KEY <span style="color: #66cc66;">(id_usuario<span style="color: #66cc66;">) <span style="color: #66cc66;">) <span style="color: #993333; font-weight: bold;">INSERT <span style="color: #993333; font-weight: bold;">INTO usuarios <span style="color: #993333; font-weight: bold;">VALUES <span style="color: #66cc66;">(<span style="color: #cc66cc;">1, <span style="color: #ff0000;">'Teste', <span style="color: #ff0000;">'202cb962ac59075b964b07152d234b70'<span style="color: #66cc66;">);</div> pessoal esta muito simples e funcional, mas se tiverem duvidas postem ai que eu respondo é irmão mais estou com uma pequna dúvida pq estou usando o WAMP5. já tenho uma tabela de user e senha como faço para criar um página de login usando WAMP5 Compartilhar este post Link para o post Compartilhar em outros sites
MathBR 0 Denunciar post Postado Dezembro 20, 2007 Fabyo não entendi uma coisa no codigo <!--php--><div class='highlight_syntax_top'>PHP</div><div class='highlight_syntax_main'><!--php1--><div class="php">$txt = get_magic_quotes_gpc() == 0 ? addslashes($txt) : $txt; // retiro da variavel esses caracteres (--, #, *, ;) return preg_replace("@(--|#|*|;|=)@s", "", $txt); </div><!--php2--></div><!--php3--> você esta dando addslashes no texto ($txt) para depois tirar as barras no preg_replace ? E vlw Muito bom esse script ;) Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Dezembro 20, 2007 nao no preg ali a barra é pra escapar os caracteres # * Compartilhar este post Link para o post Compartilhar em outros sites
MathBR 0 Denunciar post Postado Dezembro 20, 2007 Ok agora entendi ;) vo da uma estudada neste preg_* que eu ainda não manjo muito disso Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Dezembro 20, 2007 http://guia-er.sourceforge.net/ Compartilhar este post Link para o post Compartilhar em outros sites
Ali3n 0 Denunciar post Postado Janeiro 16, 2008 Não Consigo de forma alguma logar... Testei de diversas formas cadastrei varias vezes e nadica.... sql = CREATE TABLE `usuarios` ( `id_usuario` smallint(5) unsigned NOT NULL auto_increment, `nome` varchar(45) NOT NULL default '', `senha` varchar(32) NOT NULL default '', `email` varchar(64) NOT NULL default '', `nivel_acesso` enum('0','1','2') NOT NULL default '0', `chave` varchar(32) NOT NULL default '', PRIMARY KEY (`id_usuario`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2; -- -- Extraindo dados da tabela `usuarios` -- INSERT INTO `usuarios` VALUES(1, 'jose', '0812b432e33a698d3f8e9ca92366', 'jose@email.com', '2', 'nao'); e o tal acusa o seguinte erro Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/bvgcom/public_html/testes/login/login.php on line 27 Se algume puder colaborar ou me esplicar o motivo do erro e se o sql esta correto agradeço. Muito Obrigado a todos Compartilhar este post Link para o post Compartilhar em outros sites
leonardonobre 0 Denunciar post Postado Janeiro 17, 2008 Bom dia gente, tentem mudar a parte $re = mysql_query("select count(*) as total from usuarios where nome = '$nome' and senha = md5('$senha')"); //referencia: http://www.php.net/md5 e http://www.php.net/mysql_result $total = mysql_result($re, 0, "total"); mysql_close(); /* se o total for diferente de 1 é porque o usuario nao esta cadastrado usando dessa forma o resultado esperado sempre sera 1 porque você precisa tbm criar um sistema de cadastros que deixe apenas um usuario ser cadastrado evitando usuarios repetidos */ if($total != 1) Para: $re = mysql_query("select * from usuarios where nome = '$nome' and senha = md5('$senha')"); $total = mysql_num_rows($re); if($total == 0) // Aqui q esta a jogada... tem que ser igual a zero p/ voltar ao login. Do jeito que estava, mesmo achando alguém iria voltar para a página de login! Compartilhar este post Link para o post Compartilhar em outros sites