Ir para conteúdo

POWERED BY:

Arquivado

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

Deivid Roza

[Resolvido] Pagina protegida com logim e senha SEGURA

Recommended Posts

Ae galera primeiro post http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Bom seguinte no meu site eu fis um sistema de upload de imagem muito bom seguro pramin um dos melhores!

Mais só que.

Eu queri que quando o usuario clicase em envie sua imagem isso no site!

Abrice uma pagina pode ser em HTML que eu manjo mais, pedindo logim e senha bem simples!

e que apos o usuario colocar os dados dele ele fosse direcionado para uma outra pagina onde se encontra o sistema de upload.

 

=Mais sem banco de dados!

 

olha só oque eu tenhu aqui.

*********************************************

enviar.php

<?
#Se o login e senha não foi processado, exibe o formulário
if(!isset($_POST["submit"])) {
echo "<form name=\"form\" method=\"post\">";
echo "Login:<br /><input name=\"login\" type=\"text\" maxlength=\"20\" size=\"20\" /><br />";
echo "Senha:<br /><input name=\"senha\" type=\"password\" maxlength=\"8\" size=\"20\" /><br />";
echo "<br />";
echo "<input name=\"submit\" type=\"submit\" value=\"Logar\" />";
echo "</form>";
}
else {
$login = $_POST["login"];
$senha = $_POST["senha"];

#Checando se o login e senha não estão em branco
if(!empty($login) and !empty($senha)) {
	#Populamos o nosso array que controlará os usuários
	$usuarios = array(
				0 => array(login => "deivid", senha => "3425"),
			1 => array(login => "botina", senha => "3425"),
			2 => array(login => "leandro", senha => "2517"),
			3 => array(login => "jhoni", senha => "9841"),
			4 => array(login => "thiago", senha => "7826"),
			5 => array(login => "vagner", senha => "9734"),
			6 => array(login => "eder", senha => "1475")
			);
                               #usuarios invalido usei só para completar 6 user

	#Checando se o login e senha "batem" com os usuários com acesso permitido
	if(in_array(array(login => "$login", senha => "$senha"), $usuarios)) {
		header ("Location: upload.php");   #aqui abre a pagina que eu quero!!!!!!
}
	else {
		echo "O usuário/senha fornecido(s) esta(ão) incorreto(s).";
	}
}
else {
	echo "É necessário o preenchimento do login e da senha.";
}
}
?>

****************************************

 

Bom é isso até ai bem legal né?

mais se alguem copiar o link da pagina e colar no navegador? entrara sem senha?

teria uma forma de depois que o usuario loga-se aparessese na mesma pagina (sem frame) o formulario de envio?

enbutido nessa PHP

 

e outra coisa eu ñ consegui personalisar esta php de geito nenhum se personalizar ela da erro!

 

cara vou diser não manjo nada de php oque eu sei é copiado e colado manjo editar alguns codes mais nada!

 

e como eu fasso para quando o usuario upar a foto ela ir para a pasta do determinado usuario? e não para uma pasta simples.

Tipo o user "deivid" loga e manda uma foto a foto dele vai para a pasta upload/deivid

 

 

Desculpe se não fico bem esplicadinho mais axo que é isso ai.

 

Aguardo apoio de vocês.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, acho que pra você fazer isto, vai ter que estudar um pouco mais de PHP.

 

Para redirecionar um usuário, use

header('location:pagina.php');

Agora, sobre o restante, o que eu posso te sugerir é procurar alguma coisa pronta no laboratório de scripts ou estudar mais sobre PHP.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha, acho que pra você fazer isto, vai ter que estudar um pouco mais de PHP.

 

Para redirecionar um usuário, use

header('location:pagina.php');

Agora, sobre o restante, o que eu posso te sugerir é procurar alguma coisa pronta no laboratório de scripts ou estudar mais sobre PHP.

 

Carlos Eduardo

 

 

Ta bem mais como expliquei já uso este code para abrir a php de envio.

header('location:pagina.php');
agora primeiramente queria tipo uma forma de cada usuario ter a sua enviar.php digamos para cada usuario enviar a sua foto para a pasta especificada.

Tipo upload/deivid

 

Por enquanto isso já me ajuda e muito.

 

Ai depois queria ver se não poderia criar tipo um log dos usuarios com:

 

data , hora, ip, nome da imagem que envio.

 

só para caso enviar alguma foto invalida eu saber primeiramente quem foi!

Nisso as pastas já me ajudaria muito pois mesmo com o sistema de logim ainda tem usuarios que mandam fotos invalidas para o servidor (sendo que elas só são publicadas por min no final da semana)mais mesmo assim queria acabar com esta frescura.

 

E sobre php de aprender mais já passei boa parte aprendendo HTML mais PHP é estranho porque quando eu personaliso a pagina com cor borda e outras coisas elas ñ aparesen no meu DW cs4

 

Por isso se posivel ñ teria como faser este sistema de logim e senha mais em html usando algumas coisas em php?

 

Obrigado por me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe uma ferramenta chamada Developer Toolbox (se não me engano), que é uma extensão do Dreamweaver que pode te ajudar a desenvolver isto. Não sei como funciona, mas caso queira utilizar, posso mover para o fórum de Dreamweaver que o pessoal vai poder ajudar melhor.

 

Agora, a lógica é mais ou menos assim.

 

0 => array(login => "deivid", senha => "3425"),

Grava também neste array o nome da pasta que o cara vai gravar. Aí, quando o cara fizer o login, você grava o nome da pasta dele em uma $_SESSION. Aí, na hora de gravar a foto, você adiciona este nome de pasta ao caminho que está gravando, ou seja, as fotos vão ficar separadas por usuário.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe uma ferramenta chamada Developer Toolbox (se não me engano), que é uma extensão do Dreamweaver que pode te ajudar a desenvolver isto. Não sei como funciona, mas caso queira utilizar, posso mover para o fórum de Dreamweaver que o pessoal vai poder ajudar melhor.

 

Agora, a lógica é mais ou menos assim.

 

0 => array(login => "deivid", senha => "3425"),

Grava também neste array o nome da pasta que o cara vai gravar. Aí, quando o cara fizer o login, você grava o nome da pasta dele em uma $_SESSION. Aí, na hora de gravar a foto, você adiciona este nome de pasta ao caminho que está gravando, ou seja, as fotos vão ficar separadas por usuário.

 

Carlos Eduardo

 

Ta bom mais como disce não entendo quase nada de php se pudesse fasia em HTML pois acho muito mais facil e tipo to com umonte de apostilas aqui e to estudando elas direto o maximo que posso para aprender nem que sejá o basico.

 

Pergunta: Tem como você me passar esta linha já com a ação de onde sera salvo a foto digo a pasta.

Eu ñ sei mais acho que seria algo assim.

 

0 => array(login => "deivid", senha => "3425" folder=> "upload/deivid"),

ñ sei se isso funciona tentei apenas explicar como eu acho que ficaria esta linha mais se você tiver alguma opinião pramin já ajuda.

 

e sobre a tal $_SESSION você poderia descrever como ficaria esta linha? completa com logim e senha mais o diretório da pasta ai só modificava aqui.

 

Olha outra coisa que eu me quebro muito é que para eu testar minhas PHP tenhu q upalas para meu servidor (onde fica o meu site)para testar andei lando algo seobre um programa que interpreta o codigo PHP no proprio pc isso funciona?

 

Obriga por ajudar ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ñ sei mais acho que seria algo assim.

0 => array(login => "deivid", senha => "3425" folder=> "upload/deivid"),

Isto mesmo. Perfeito.

 

e sobre a tal $_SESSION você poderia descrever como ficaria esta linha?

 

Aqui neste código você adiciona o $_SESSION antes do header.

if(in_array(array(login => "$login", senha => "$senha"), $usuarios)) {
                        header ("Location: upload.php");   #aqui abre a pagina que eu quero!!!!!!
}
Como fazer? Antes de gravar qualquer coisa em session, inicie a sessão, utilizando session_start. Depois, você faz mais ou menos assim.

 

$_SESSION['qualquer_coisa'] = 'Qualquer Valor';

Na página que vai fazer o upload, você faz a mesma coisa, só que usando a lógica inversa.

 

session_start();
echo $_SESSION['qualquer_coisa'];// vai imprimir 'Qualquer Valor'

http://br.php.net/session_start

http://br.php.net/manual/pt_BR/reserved.variables.session.php

 

andei lando algo seobre um programa que interpreta o codigo PHP no proprio pc isso funciona?

 

Para rodar páginas PHP, você precisa ter um servidor PHP instalado na sua máquina. Existem programas que instalar Apache, PHP e Mysql tudo de uma vez. Eles funcionam muito bem, eu inclusive utilizo um deles, o WAMP. Existe também o XAMPP, EasyPHP. Então, daí depende de qual você quiser utilizar.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ba olha sem comentarios a sua ajuda cara valeu mesmo e sobre a folder=>upload/deivid

 

eu xutei isso só pra ver se seria algo como já tinha visto mais agora é que entra o grande problema!

 

Acima eu descrevi o codigo com as senhas e logim dos usuario (exemplares) mais esta pagina ela abre outra! a upload.php e é nesta pagina que está tudo sobre as imagens o diretorio os comandos para alterar o nome os arquivos que podem ou não ser enviados o tamanho maximo vou colocar aqui em baixo o code do upload.php

 

upload.php

 

<?
//inicio da função trancar pagina
require('bloquear.php');
trancar_pagina('index.html');
//fim desta função

/**
* Upload de Imagens com Segurança
*Atenção adicionar a linha de comando paa ninguem comseguir abrir esta pagina digitando 
*o diretorio dela no browser
*/
// Prepara a variável caso o formulário tenha sido postado
$arquivo = isset($_FILES["foto"]) ? $_FILES["foto"] : FALSE;

$config = array();
// Tamano máximo da imagem, em bytes
$config["tamanho"] = 150000;
// Largura Máxima, em pixels
$config["largura"] = 1024;
// Altura Máxima, em pixels
$config["altura"] = 768;
// Diretório onde a imagem será salva
$config["diretorio"] = "upload/";

// Gera um nome para a imagem e verifica se já não existe, caso exista, gera outro nome e assim sucessivamente..
// Função Recursiva
function nome($extensao)
{
 global $config;

 // Gera um nome único para a imagem
 $temp = substr(md5(uniqid(time())), 0, 10);
 $imagem_nome = $temp . "." . $extensao;
 
 // Verifica se o arquivo já existe, caso positivo, chama essa função novamente
 if(file_exists($config["diretorio"] . $imagem_nome))
 {
 $imagem_nome = nome($extensao);
 }

 return $imagem_nome;
}

if($arquivo)
{
 $erro = array();
 
 // Verifica o mime-type do arquivo para ver se é de imagem.
 // Caso fosse verificar a extensão do nome de arquivo, o código deveria ser:
 //
 // if(!eregi("\.(jpg|jpeg|bmp|gif|png){1}$", $arquivo["name"])) {
 // $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo"; }
 //
 // Mas, o que ocorre é que alguns usuários mal-intencionados, podem pegar um vírus .exe e simplesmente mudar a extensão
 // para alguma das imagens e enviar. Então, não adiantaria em nada verificar a extensão do nome do arquivo.
 if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $arquivo["type"]))
 {
 $erro[] = "Arquivo em formato inválido! A imagem deve ser jpg, jpeg, bmp, gif ou png. Envie outro arquivo";
 }
 else
 {
 // Verifica tamanho do arquivo
 if($arquivo["size"] > $config["tamanho"])
 {
 $erro[] = "Arquivo em tamanho muito grande! A imagem deve ser de no máximo " . $config["tamanho"] . " bytes. Envie outro arquivo";
 }
 
 // Para verificar as dimensões da imagem
 $tamanhos = getimagesize($arquivo["tmp_name"]);
 
 // Verifica largura
 if($tamanhos[0] > $config["largura"])
 {
 $erro[] = "Largura da imagem não deve ultrapassar " . $config["largura"] . " pixels";
 }

 // Verifica altura
 if($tamanhos[1] > $config["altura"])
 {
 $erro[] = "Altura da imagem não deve ultrapassar " . $config["altura"] . " pixels";
 }
 }

 if(!sizeof($erro))
 {
 // Pega extensão do arquivo, o indice 1 do array conterá a extensão
 preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $arquivo["name"], $ext);
 
 // Gera nome único para a imagem
 $imagem_nome = nome($ext[1]);

 // Caminho de onde a imagem ficará
 $imagem_dir = $config["diretorio"] . $imagem_nome;

 // Faz o upload da imagem
 move_uploaded_file($arquivo["tmp_name"], $imagem_dir);
 }
}
?>
<html>
<head>
<title>Enviar Foto</title>
<style type="text/css">
BODY, TD {font-family: verdana; font-size: 10pt; color: white}
</style>
</head>

<body bgcolor=black link=red vlink=red alink=red>

<center><font size=4>Envio de Foto</font><BR>
<?
// Imagem foi enviada com sucesso, mostra mensagem de SUCESSO
if($arquivo && !sizeof($erro))
{
 echo "<img src=\"" . $imagem_dir . "\" border=0><BR><BR>Sua foto foi enviada com sucesso!<br>Deseja enviar outra? <a href=\"upload.php\">Clique aqui</a>";
}

// Ocorreu algum erro ou ainda o formulário não foi postado
else
{
?>
<form action="<?echo $PHP_SELF?>" method=post ENCTYPE="multipart/form-data">
Envie sua foto em formato gif, jpg, bmp ou png.<BR>
A imagem não deve ter mais que <?echo $config["tamanho"] ?> bytes e deve ter <? echo $config["largura"] . "x" . $config["altura"] ?> pixels.<BR>
<table border=0 cellpadding=2 cellspacing=1 align=center>
<?
if(sizeof($erro))
{
 echo "<tr><td colspan=2 bgcolor=red><B><U>Ocorreu(am) o(s) seguinte(s) erro(s):</u><BR>";
 foreach($erro as $err)
 {
 echo " - " . $err . "<BR>";
 }
 echo "</B></td></tr>";
}
?>
<tr><td align=center>Enviar Foto: <input type=file size=30 name=foto></td></tr>
<tr><td align=center><input type=submit value="Ok!"></td></tr>
</table>
</form>
<? } ?>
<strong><a href="http://guajucity.no-ip.org/"><em>Voltar a pagina inicial do site.</em></a></strong><br>
</body>
</html>

e agora como juntar tudo isso em um php só?

vou tentar mais tarde posto aqui os resultados.

 

e sobre a leitura to aprendendo ;)

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok deu uma lida nas minhas apostilas agora vou ver como criar as

$_SESSION

 

Fui... Ajuda ae gente!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fui... Ajuda ae gente!!!

 

vou tentar mais tarde posto aqui os resultados.

 

Ok deu uma lida nas minhas apostilas agora vou ver como criar as

$_SESSION

 

Em que pé está o seu código? Qual a sua dúvida, especificamente. Tentou fazer? Como? Deu algum erro? Qual?

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom seguinte eu to seguindo arisca 2 tutoriais de um amigo mew

 

http://www.plugmasters.com.br/sys/materias/369/1/Sistema-de-Login-no-Dreamweaver

 

http://www.plugmasters.com.br/sys/materias/350/1/Sistema-de-cadastro-no-Dreamweaver

 

Ai instalei um tipo de apach

 

http://www.wampserver.com/en/download.php

 

Mais esta dando erro 404 ai se posivel você me mover para os topicos de DW

 

Obrigado só lenbando estou fazendo só com extenções do DW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais esta dando erro 404

 

Esse erro 404 significa que alguma coisa não foi encontrada. Talvez ao clicar no botão ou submeter o formulário.

 

Coloque aqui o seu código, dos arquivos envolvidos, para podermos dar uma analizada.

 

ai se posivel você me mover para os topicos de DW

Obrigado só lenbando estou fazendo só com extenções do DW!

 

Ou se realmente preferir podemos mover para o fórum de Dreamweaver, mas eu acho que o problema está mais relacionado ao uso da linguagem PHP do que com o uso da ferramenta DW.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simmais como eu falei eunão estou tendo problemas com o codigo e sim com a configuraçãoi do apach e o DW porque o erro esta dando quando eu tento encontrar o banco de dados no apach da erro 404 disendo que o servidor pode estar off line ai que disce q não entendo nada do apach.

 

Depois que eu conseguir comfigurar o apach (me falaram que este já vem configurado! basta apenas ligar ele)

 

Ai depois estou segindo o primeiro tutorial da lista acima onde dis como configurar o site manager do DW mais é ai que estou me perdendo acho que o erro nesta no apach.

 

Se posivel mover fico grato!

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai galera da o seguinte erro tanbem este é oque esta me atrasando resolvendo este eu re axo que resolve o 404

Imagem Postada

Ai olha ele não dis que o server esta fungando!

Por isso que tanbem da o erro 404 pq tento conectar com o banco de dados mais ele não acha o server (eu tanbem não sei fazer as ditas tabelas...)

Mais perguntei a um amigo e eles me disce q tem que tem que fucar uma flexinha no item 3 ai depois disso que eu posso criar o banco de dados!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta bom galera boas novas...Descobri um code igual ao meu mais estudei ele e vou postar aqui o que pretendo fazer!

 

logar.html

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>login</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="verificar.php">
 <table width="200">
 <tr>
 <td width="52">Login</td>
 <td width="136"><input type="text" name="login" id="login" /></td>
 </tr>
 <tr>
 <td>Senha</td>
 <td><input type="password" name="senha" id="senha" /></td>
 </tr>
 <tr>
 <td> </td>
 <td><input type="submit" name="button" id="button" value="login" /></td>
 </tr>
 </table>
</form>
</body>
</html>

verificar.php

 

<?
//Usa $_POST para pegar as informações digitadas no formulário.

$login = $_POST['login'];

$senha = $_POST['senha'];

//Irá comparar as informações que foram digitadas no formulário com o login e senha corretos que estão no formulário.

if( $login != deivid II $senha != 3425 ) {

//Se for difirente, retonar a mensagem:

echo "Login ou senha incorretos";

//Se for iguais os dados, corretos, aparece a página:

}else{
//Aki eu axo que vai o conteudo da PHP que quero mostrar se a senha estiver correta! 
//posso usar isso>>>> header="upload.php" <<< Para redirecionamento não?
}
?> 

Como fasso para add neste sistema mais usuarios?

 

E como fasso para se o usuario acertar o logim e a senha ele sejá direcionado para uma determinada PAGINA?

 

Exemplo:

header="$logim.html"
Não sei se é assim que funciona! mais deve ser algo parecido.

 

Ai eu crio varias html com o nome de cada usuario!

 

Todas as HTML vão ser identicas só que cada uma enviara o upload do usuario para uma determinada pasta.

 

Exemplo:

move_uploaded_file(usuarios/eder/);

Ou se vocês pudesse modificar este code para quando o cara acertasse a senha eo logim abrisse na mesma PHP um formulario de upload e no local a ser enviado o arkivo fosse algo como:

move_uploaded_file(usuarios/$logim/);
porque eu tenhu um sistema de logim ai só acrecentava o code dele na mesma PHP!

 

Ai eu usaria as session.

 

Obrigado pessoal ;)

 

Acho que estou chegando la!

 

Desculpe moderação por sero terseiro post seguido mais quero esclarecer esta duvida urgente obrigado e pesso a cooperação de você.!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por gentileza, solicitaria que não postasse textos que não visam o aprimoramento do conhecimento ou a dúvida em si...

 

Mas sobre adicionar novos usuários, ao invés de comparar o login e a senha em si no if, como feito no código:

if( $login != deivid II $senha != 3425 ) {

Porque não faça uma tabela no Banco de Dados e assim, você poderia incluir novos usuários, sem precisar mexer no código fonte em si?

 

Depois,faça um if comparando com os campos usuário e senha do seu banco de dados, aí, você redirecionaria, para a página que você deseja:

<?php
header("location pagina.php");
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por gentileza, solicitaria que não postasse textos que não visam o aprimoramento do conhecimento ou a dúvida em si...

 

Mas sobre adicionar novos usuários, ao invés de comparar o login e a senha em si no if, como feito no código:

if( $login != deivid II $senha != 3425 ) {

Porque não faça uma tabela no Banco de Dados e assim, você poderia incluir novos usuários, sem precisar mexer no código fonte em si?

 

Depois,faça um if comparando com os campos usuário e senha do seu banco de dados, aí, você redirecionaria, para a página que você deseja:

<?php
header("location pagina.php");
?>

Ok agora eu tendi! mais ñ gosto de banco de dados:grin:não por nada mais sempre da erro quando tento mecher nele.

 

Agora eu estou usando um CMS para gerenciar o meu site ai fica bem melhor só o problema é que só consigo fazer portais e não sites! Até crio o site com o thema mais não consigo add conteudo!

Mais isso é outro tópicoImagem Postada

 

Obrigado ":joia:duvida resolvida"

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.