• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Broken

registo + logins + noticias + area privada

12 mensagens neste tópico

registo + logins + noticias + area privada

alguem conhece algum CMS ou aplicação já feita que contenha somente estes elementos ?

sem ser.. Joomla, mambo, moodle ou outros codigos que existem grandes.

queria saber se alguem ja criou algum codigo deste tipo ou conhece aplicaçoes mais simples do que as ke referi.

abraços

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque é que não usas o Joomla! mesmo? É que tem mesmo tudo o que precisas, o facto de o código ser grande não significa que dê mais trabalho, a cena é que quase nunca tens de mexer no código base do CMS, só no dos componentes ou módulos.

Cumps :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pah pk gosto de simplificar e o facto de ter coisas desnecessárias... n faz o meu genero.

e como teres a tua casa e gostas de ter espaço e nao tudo xeio de trabalho e coisas pequenas "para exposição".

acho que o joomla é um cms ideal para quem tira partido de todas as funcionalidades dele e nao so de duas ou tres.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois o cutenews so se impletementar... num script de login... pk a ideia e ter registos para o users dps eles fazerem login e terem uma area reservada.

o cutenews e mesmo so para akilo... news «

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qual é a dificuldade de fazer esse sistema? Isso é algo que se faz com 100 linhas por 1-2 ficheiros...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas isso é pk ja sabes fazer e tens pratica incluindo com os sistemas de segurança.

pah ja tou a fazer um e começei plos logins... fui fazendo e entretanto ja consegui por a registar e a dar para fazer login com acesso a uma área privada. isto tudo atraves de uns tutoriais ke estavam aki na pap.

mas vou continuar a tentar fazer e pronto kuando acabar posto aki tudo :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tipo... tenho aki duas duvidas.

1º eu fizo login e agr entrei na area de proteção  area_privada.php, mas queria que se voltar ao formulário de login (login.php) ele disse se que ja tinha o login feito em vez de aparecer os formulários ...e redireciona-se para a parte privada.

2º como coloco um logout, imaginemos que precisava de fazer logout para mudar de utilizador... e necessário.

como faço isto ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes postar aí o código de login? Só para ter 1 ideia do sistema. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

login.php - formulários


<html>
<head>
<title> Login </title>
</head>

<body>

<p><b> Login </b></p>



<form action="enviar.php" method="POST">

<!--      texto referente ao titulo  da caixinha e  respetiva caixinha para o utilizador escrever o nome ou pode ser o numero de utilizador, é so alterar ....   
o valor que vai ser escrito vai ser o valor da "variavel nome" (  pode mudar a palavra nome para outro nome...  ) 
o valor de size pode tambem ser alterado....( que deve corresponder ao tamanho que é definido na base de dados ) 
-->

<b>Numero do utilizador</b> 
<p><input type="text" value="" name="nome"size="10" ></p>

<!--      texto referente ao titulo da caixinha  e respetiva caixinha para o utilizador escrever a password ....        
o valor que vai ser escrito vai ser o valor da "variavel pass" (  pode mudar a palavra pass para outro nome...  ) 
o valor de size pode tambem ser alterado....( que deve corresponder ao tamanho que é definido na base de dados ) 

-->
<b><br>Password</b>
<p><input type="password" value="" name="pass" size="20" ></p>


<p> <!--  botoes         submit ->  Login  ( pode mudar este nome)  e   reset-> Reset  ( pode mudar este nome)       -->
   <input type="submit" value="Login" name="validar" >
     
   <input type="reset" value="Reset" name="limpar" >
</p> 

</form


></body>
</html>

functions.php - várias funçoes para proteçao de algumas areas


<?

// Função para bloquear recebimentos de dados via POST
function bloquear_post()
{
if($_SERVER['REQUEST_METHOD'] == 'POST') {
exit("<center><b>Erro no processo de recebimento dos dados , código 00001<b>");
}
} 
// Função para bloquear acesso direto ao arquivo ou envio de dados via GET
function bloquear_get()
{
if($_SERVER['REQUEST_METHOD'] == 'GET') {
exit("<center><b>Erro no processo de recebimento dos dados , código 00002<b>");
}
} 
// Função que analisa se elementos usados em SQL foram enviados via POST
function sql_banlist()
{
$banlist = array ("'", "shutdown", "or", "--", "or=", "del", "[", ")--", "Character", "dbo", "WHERE", "Set", "\"", ">", "<", "|", "/", "insert", "select", "update", "delete", "distinct", "having", "truncate", "replace", "handler", "like", "procedure", "limit", "order by", "group by", "warehouse", "DEL", "$", "sele", " +", " + ", "+", "+ dx", " dx", "memb_info","dRop","drOp","droP","DrOp","dRoP","DroP","DRoP","DrOP","DROp","Drop","Update","UPdate","UPDate","UPDAte","UPDATe","updatE","updaTE","updATE","upDATE","uPDATE","UpDaTe","UpDAte","UpDATE","UPdATE","UPDaTE","UPDAtE","UPdaTE","UpDAtE","UPDaTe","UPdaTE","UPDATE","FROM","FrOm","FRom","FROm","fROM","frOM","froM","FRoM","from","fROM","From","FrOM");

foreach($_POST as $value)
foreach($banlist as $word)
if(substr_count($value, $word) > 0)
exit("<center><b>Erro no processo de recebimento dos dados , código 00003<b>");
} 
// Função que recebe dados via POST e detecta se existem simbolos nas variaveis
function secure_var()
{
foreach($_POST as $value)
if(eregi("[^0-9a-zA-Z@.-_]", $value)) {
exit("<center><b>Erro no processo de recebimento dos dados , código 00004<b>");
  }
}
// Verifica se o email enviado via POST é valido
function email_check()
{
$email = $_POST['mail'];
if (!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email)){ 
exit("<center><b>Erro ao enviar dados, o email inserido é inválido.<b>");
}
}
// função usada para receber dados numéricos para a variavel $id
// Isto é usado como por exemplo : artigo.php?id=445
// Verifica se o valor da variavel $id é numérico
function secure_id()
{
$id = $_GET['id'];
if(!is_numeric($id)) {
exit("<center><b>Erro no processo de recebimento dos dados , código 00006<b>");
}
if(eregi("[^0-9]", $id)) {
exit("<center><b>Erro no processo de recebimento dos dados , código 00006<b>");
}
} 
// Função para verificar se o cep enviado é válido
function valida_cep()
{
$cep = $_REQUEST['cep'];
if (!ereg("^[0-9]{5}-[0-9]{3}$", $cep)) {
exit("<center><b>Erro no processo de recebimento dos dados , código 00007<b>");
}
}
// Função para bloquear acessos de determinados IP's
// para adicionar ou modificar os IP's basta alterar os valores no array_push
// Exemplo : array_push($ips, "200.175.5.139","165.134.2.140"); 
function ip_ban()
{
$ips = array(); 
$ip = md5($_SERVER['REMOTE_ADDR']);  
     
array_push($ips, "200.175.5.139"); 

for($i = 0; $i < count($ips); $i++) 
   { 
if($ip == md5($ips[$i])) 
  { 
exit("<center><b>Erro no processo de recebimento dos dados , código 00008<b>");
  }   
} 
}
?>

enviar_reg.php - envia os formularios de registo para a bd

<html>
<head></head>
<?

if ((!isset($_POST["nome"])) or (!isset($_POST["pass"])) or (!isset($_POST["mail"])) or (!isset($_POST["nmver"]))) die("Campos não preenchidos..."); 

$nome=$_POST["nome"];
$password=($_POST['pass']);
$email=$_POST["mail"];
$nomever=$_POST["nmver"];

//Inclui o script do SQL Shield
include 'functions.php';

//Bloquea o método GET , isto previne acesso direto ao arquivo ou envio dos dados pela URL
bloquear_get();

//Verifica se existem elementos usados em SQL 
sql_banlist();

  //Algum campos ficou em branco?
if(empty($nome) || empty($pass) || empty($mail)) {
   exit("<script>alert('Alguns campos estão em branco')</script><script>history.go(-1)</script>");
  }

// Verifica se o email enviado é valido
email_check();


	//Verificar se existem simbolos nas variaveis $senha e $login

if((eregi("[^0-9a-zA-Z]", $nome)) ||
(eregi("[^0-9a-zA-Z]", $pass))) 
{
exit("<script>alert('Simbolos ou caracteres especiais não são permitidos , favor usar somente letras ou números nos campos')</script><script>history.go(-1)</script>");
}



$conectar=mysql_connect("localhost", "root","" ) or die ("Falhou ligar a base de dados...");


mysql_select_db("site", $conectar) or die ("Falhou..base de dados desconhecida....");

mysql_query("INSERT INTO `utilizador` (`n_utilizador`, `nome`, `pass`, `email`) VALUES ('$nome', '$nomever', '$password', '$email')");



echo "registo efectuado com sucesso";

echo "Faça o seu login <a href=login.php> aqui </a>";

echo "Obrigado";

mysql_close($conectar);


?>
<body></body>
</html>

registo.php - formularios de registo


<html>
<head>
<title> Registo </title>
</head>

<body>

<p><b> Registo </b></p>

<form action="enviar_reg.php" method="POST">


<b>Utilizador</b> 
<p><input type="text" value="" name="nome"size="20" >
</p>


<b><br>Password</b>
<p><input type="password" value="" name="pass" size="20" ></p>
<p><strong>Nome</strong></p>
<p>
  <input name="nmver" type="text">
</p>
<p><strong>E-Mail</strong></p>
<p>
  <input name="mail" type="text">
</p>
<p>
   <input type="submit" value="Registar" name="validar" >
     
   <input type="reset" value="Reset" name="limpar" >
</p> 

</form>


</body>
</html>

enviar.php - valida os campos na bd de login, ver se correspondem

<?



if ((!isset($_POST["nome"])) or (!isset($_POST["pass"]))) die("Campos não preenchidos...");

// as seguintes variaveis vao receber os valores, respectivos,  que foram escritos no from  da seguinte forma
$nome=$_POST["nome"];
$password=$_POST['pass'];

//Inclui o script do SQL Shield
include 'functions.php';

//Algum campos ficou em branco?
if((eregi("[^0-9a-zA-Z]", $nome)) ||
    (eregi("[^0-9a-zA-Z]", $password))) 
{
  exit("<script>alert('Simbolos ou caracteres especiais não são permitidos , favor usar somente letras ou números nos campos')</script><script>history.go(-1)</script>");
  }

// vamos connectar ao servidor:  localhost ( pode ter outro endereço ) , utilizador :  nome_do_utlizador , e password :"pass "
$conectar=mysql_connect("localhost", "root","" ) or die ("Falhou ligar a base de dados...");

// vamos seleccionar a base de dados que queremos
$bdd=mysql_select_db("site", $conectar) or die ("Falhou..base de dados desconhecida....");

//Cria um array dos valores prontos para serem consultados
$loginz = array_fill(5,6, $nome);
$mysql1 = array();
$senhaz = array_fill(5,6, $pass);
$mysql2 = array();

//Previne que os dados alterem o estado da query
$mysql1['nome'] = mysql_real_escape_string($loginz['6']);
$mysql2['pass'] = mysql_real_escape_string($senhaz['6']);


//Procura os valores no banco de dados

$login_check = mysql_query("SELECT nome FROM utilizador WHERE n_utilizador='{$mysql1['nome']}'");
$resultados_login = mysql_num_rows($login_check);
$senha_check = mysql_query("SELECT pass FROM utilizador WHERE n_utilizador='{$mysql1['nome']}' AND pass='{$mysql2['pass']}'");
$resultados_senha = mysql_num_rows($senha_check);

//Exibe alertas e retorna a operação caso os valores estejam incorretos
if (($resultados_login <= 0) || ($resultados_senha <= 0)) { 
echo "<script>alert('Nome ou senha incorreto')</script><script>window.location='login.php'</script>"; }
else {
session_start();
$_SESSION["ses_login"]=$nome;
echo "<script>window.location.href='painel.php'</script>";
}

//Fecha a conexão com o MySql , exibe o alerta de sucesso e redireciona para a página de login
mysql_close();



?>

painel.php - area restricta

<?

session_start();
// Verifica se o usuário efetuou login e se a sessão existe
if (!isset($_SESSION["ses_login"])) {
exit("<script>window.location.href='login.php'</script>");
}
?>
<html><head><title>Sistema de cadastro</title>
<style type="text/css">
<!--
/*   Sistema de cadastro seguro           */
/*   Desenvolvido por André luis          */
/*   MSN : stopa190@hotmail.com           */
-->
.style1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: bold;
}
.style3 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style>
</head>
<body>
<form id="form1" name="form1" method="post" action="cadastrar.php">
  <table width="253" border="1" cellpadding="1" cellspacing="1" bordercolor="#CCCCCC">
    <tr>
      <th colspan="2" bordercolor="#999999" bgcolor="#CCCCCC" scope="col"><span class="style1">Sessão iniciada com sucesso </span></th>
    </tr>
    <tr>
      <th colspan="2" scope="col"><span class="style3"><a href=""></a></span></th>
    </tr>
  </table>
</form>
</body>
</html>


e pronto este é o meu login que tou a desenvolver .... ideias para melhorar ? sou todo ouvidos  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

LOL eu por acaso ando a desenvolver uma cena light assimm parecida( chama-se miniJlog) mas ainda tá longe de acabar(tou a desenvolver o codigo um bocadinho cada dia). E mesmo quando acabar n vai tar perfeita, e n vai ser muito user friendly... (para quem for o dono)

Para já ainda so fiz o codigo para aparecer cada post na pag de entrada e a cena de  adicionar comments tb ja funciona(ja agora n vejas os coments que fiz a mmim proprio sao estupidos XD). O menu tb é so exemplo e ainda n tá codificado( e ja agora os ads mal colocados sao do servidor k é pa testar.No entanto parece o tipo de coisa que andas à procura (simples e light)...

Podes ver aqui: .....

se depois quando eu fizer mais quizeres dar uma vista de olhos eu deixo na boa.. Mas com a ajuda ai do pessoal fazes isso rapido..

Ja agora

tenho quase  a certeza que se procurares em http://www.hotscripts.com/ ou  http://www.freescripts.com/  vais encontrar qualquer coisa jeitosa ...  nem que seja so pa consulta de como se faz..

Ve isto

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora