inlog gedeelte

Status
Niet open voor verdere reacties.

leuthrick

Gebruiker
Lid geworden
17 sep 2008
Berichten
454
hallo,

bestaat er een programma waar mee je een inlogscherm maakt en een bepaald gedeelte van de website afsluit, wat dus alleen mag worden weergegeven als je ben ingelogd.
het liefst moet er ergens staat dat je ben ingelogd als....
en dat je ook weer kunt uitloggen.


alvast bedankt
 
Hoe wil je dit gaan doen? Er zijn namelijk zoveel manieren om zoiets voor elkaar te spelen, maar dan moet je wel iets meer verstand van programeertalen hebben(PHP & MySQL, of HTACCES), en als ik je vraag zo lees zou dat voor jou nog wel eens een probleem kunnen worden, of heb ik het dan verkeerd???
 
ik heb alleen maar een beetje verstand van html
en verder alleen van .net
ik heb HTACCES geprobeert allen dan komt er een inlog scherm en dan log ik in en dan krijg ik een error page

mijn webhost ondersteund MySQL

en PHP zou ook kunnen.

wat zou het veiligst zijn
 
Een PHP loginsysteem met een MySQL database is het veiligst, als htacces niet werkt.

Als je even googled vind je al snel heeel veel!!!
 
ik heb al gegoogle maar de scripts die ik vind werken niet of niet goed.

bestaat er geen voorgeprogemeerd script zoals phpbb alleen dan geen forum?
 
Ik heb altijd een bepaald script gebruikt maar daarvan is sinds kort bekend geworden dat het onveilig is. Ik zou als ik jou was gebruik maken van zijn voorloper.

p.s. Op die site vind je voor php vaak betere ondersteuning dan waar ook, dus als je problemen hebt stel je vraag dan daar, zou ik zeggen. (daar zitten allemaal van die php-freaks)
 
Laatst bewerkt:
dat script was ook niet water dicht.

ik denk dat ik het probeer met HTACCESS.

alleen het werkt niet.

dit heb ik gedaan:
dit opgeslagen en daarna tijden het uploaden de bestands naam gewijzgd van htaccess.txt naar .htaccess
PHP:
AuthUserFile /home/nl./test/test.html/.htpasswd
AuthGroupFile /dev/null
AuthName "Password Protected Area"
AuthType Basic
	
<limit GET POST>
require valid-user
</limit>

en deze heb ik opgeslagen als htpasswd.txt en de naam gewijzigd bij het uploaden naar .htpasswd
PHP:
test:HMV2K7UsHRP.w

wat is hier fout aan?
de map verbergt hij maar hij na het inloggen staat er dit:
Server fout!
De server kreeg een interne fout en kon uw vraag niet beantwoorden. De server is overbelast of er was een fout in een CGI script.

Indien u van oordeel bent dat deze server in fout is, gelieve de webmaster te contacteren.

Error 500
localhost
03/07/09 10:51:39
Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8

de scritps van de HTACCESS heb ik van http://tools.pcextreme.nl/index.php?page=secure_map



[Moderator-Edit] Code-tags vervangen door Php-tags. [/Edit]
 
Laatst bewerkt door een moderator:
ik heb dit gevonden
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Client Login Page</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<body> 

<?php 

// This is the list of users, passwords and secret page filenames. 
// Just change these usernams and the filenames as you prefer. 
// There are five logins in this demo but it can be expanded fairly simply. 

$myusernameA="alan";  
$mypasswordA="letmein"; 
$mysecretfileA="secretpageA.htm";  

$myusernameB="bob";  
$mypasswordB="letmein"; 
$mysecretfileB="secretpageB.htm"; 

$myusernameC="charles";  
$mypasswordC="letmein"; 
$mysecretfileC="secretpageC.htm"; 

$myusernameD="david";  
$mypasswordD="letmein"; 
$mysecretfileD="secretpageD.htm"; 

$myusernameE="edward";  
$mypasswordE="letmein"; 
$mysecretfileE="secretpageE.htm"; 


// The entry form can be styled anyway you like as long as the mechanics remain the same.
// You must use single and not double quotes though throughout. 

$entryform = " 


<h1>Client Login</h1> 

<form action='$PHP_SELF' method='post'> 

<p>Username: <input name='username' type='text' size='10'>  

Password: <input name='password' type='password' size='10'></p> 

<p><input name='Submit' type='submit' value='Submit'></p> 

</form>  


"; 



if(!$password && !$username){  

echo "$entryform"; 

 } 


elseif($password==$mypasswordA&&$username==$myusernameA){include("$mysecretfileA");} 

elseif($password==$mypasswordB&&$username==$myusernameB){include("$mysecretfileB");} 

elseif($password==$mypasswordC&&$username==$myusernameC){include("$mysecretfileC");} 

elseif($password==$mypasswordD&&$username==$myusernameD){include("$mysecretfileD");} 

elseif($password==$mypasswordE&&$username==$myusernameE){include("$mysecretfileE");} 


else{ 

echo"<div style='color:red;'><h2>Incorrect username or password.</h2></div>"; 

echo "$entryform"; 

}  



?>  

</body> 
</html>

is dit veilig?

ps de gebruikers namen zijn gewoon test namen



[Moderator-Edit] Code-tags vervangen door Php-tags. [/Edit]
 
Laatst bewerkt door een moderator:
Dat is niet veilig zoals het daar staat, want je kunt ook die 'hidden' pagina's handmatig includen, dus als je weet wat de filename is kun je ze zo opvragen :)

Daarnaast is het ook bepaald niet makkelijk uit te breiden...
 
ik heb dit gevonden
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Client Login Page</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
</head> 

<body> 

<?php 

// This is the list of users, passwords and secret page filenames. 
// Just change these usernams and the filenames as you prefer. 
// There are five logins in this demo but it can be expanded fairly simply. 

$myusernameA="alan";  
$mypasswordA="letmein"; 
$mysecretfileA="secretpageA.htm";  

$myusernameB="bob";  
$mypasswordB="letmein"; 
$mysecretfileB="secretpageB.htm"; 

$myusernameC="charles";  
$mypasswordC="letmein"; 
$mysecretfileC="secretpageC.htm"; 

$myusernameD="david";  
$mypasswordD="letmein"; 
$mysecretfileD="secretpageD.htm"; 

$myusernameE="edward";  
$mypasswordE="letmein"; 
$mysecretfileE="secretpageE.htm"; 


// The entry form can be styled anyway you like as long as the mechanics remain the same.
// You must use single and not double quotes though throughout. 

$entryform = " 


<h1>Client Login</h1> 

<form action='$PHP_SELF' method='post'> 

<p>Username: <input name='username' type='text' size='10'>  

Password: <input name='password' type='password' size='10'></p> 

<p><input name='Submit' type='submit' value='Submit'></p> 

</form>  


"; 



if(!$password && !$username){  

echo "$entryform"; 

 } 


elseif($password==$mypasswordA&&$username==$myusernameA){include("$mysecretfileA");} 

elseif($password==$mypasswordB&&$username==$myusernameB){include("$mysecretfileB");} 

elseif($password==$mypasswordC&&$username==$myusernameC){include("$mysecretfileC");} 

elseif($password==$mypasswordD&&$username==$myusernameD){include("$mysecretfileD");} 

elseif($password==$mypasswordE&&$username==$myusernameE){include("$mysecretfileE");} 


else{ 

echo"<div style='color:red;'><h2>Incorrect username or password.</h2></div>"; 

echo "$entryform"; 

}  



?>  

</body> 
</html>

is dit veilig?

ps de gebruikers namen zijn gewoon test namen

Nee, dit is zeer zeker niet veilig. Iedereen kan je broncode bekijken, dus kunnen ze ook achter alle wachtwoorden komen. Die bovengenoemde pagina's van mij zijn op htacces zo'n beetje het veiligst, maar waar wil je het eigenlijk voor gebruiken???
 
het script is in de broncode niet zichtbaar.
dat had ik al bekeken.
maar ik heb even wat forums bekeken en een inlog script met een database dat gaat me wel lukken.
ik heb niet een gastenboek geprobeerd.
werkt goed:thumb:
het is gewoon voor prive dingen die alleen kennissen mogen zien.
 
ik heb nu dit script:

ik heb het wachtwoord en naam vervangen door local host , database enz

connection.php
PHP:
<?php
$hostname_mysql = "localhost";
$database_mysql = "database";
$username_mysql = "naam";
$password_mysql = "wachtwoord";
$db = mysql_connect($hostname_mysql, $username_mysql, $password_mysql);    
mysql_select_db($database_mysql, $db);    
?>

login.php
PHP:
<?php
include( 'connection.php' );

if(isset($_GET[ 'action']) && ($_GET['action'] == "login")){


  // het formulier IS ingevuld
  $name  = $_POST[ 'name' ];
  $pass   = md5( $_POST[ 'pass'] . "90qdjka*@";    // coderen + salt

  $QUERY = "SELECT * FROM users WHERE name = '" . $name . "' AND pass = '" . $pass . "' AND enable = 1";
  $EXEC = mysqli_query( $QUERY );
  
  if(mysqli_num_rows() < 1){

      die( 'Login niet geldig!' );

   }else{

      // login is geldig
      $_SESSION['name'] = $name;
      $_SESSION['pass'] = $pass;
      header( 'test.html' );
  }

}

?> 
<h22>Hier kunt u inloggen!</h2><br /> 
Als u een nieuwe gebruiker bent, <a href="register.php" title="Registreer!">kunt u hier registreren</a>

<form name="form1" action="login.php?action=login" method="post"> 
Naam: <input type="text" name="name" maxlength="30"><br /> 
Wachtwoord: <input type="password" name="pass" maxlength="16"> <input type="submit" value="Login!"> 
</form>

register.php
PHP:
<?php

include( 'connection.php' );

if(isset($_GET[ 'action']) && ($_GET['action'] == "register")){

   $user = $_POST['name'];
   $pass = md5($_POST['pass'] . '90qdjka*@';
   $email = $_POST['email'];
  // het formulier IS ingevuld
  $QUERY = "INSERT INTO users (`username`, `password`, `email`, `enabled`, `lastlogin`) VALUES ('" . $user . "', '" . $pass . "', '" . $email . "', 1, NOW() )";


  if(mysqli_query( $QUERY )){

    die( 'Registratie was succesvol. Ga naar de <a href="login.php">loginpagina</a>!' );
  }
}

?>
<h1>Registreer</h1>:
Hier kunt u zich registreren. <br /><br />

<form action="register.php?action=register" method="post">
Naam: <input name="name" maxlength="30" type="text" /><br />
Pass: <input type="password" name="pass" maxlength="16" /><br />
Email: <input type="text" maxlength="50" name="email" />
<input type="submit" value="Registreer!" />
</form>

sentry.php

PHP:
<?php

session_start();

if(!isset($_SESSION['user'])) die( 'U bent niet ingelogd!' );

$user = $_SESSION['user'];
$pass = $_SESSION['pass'];


$QUERY = "SELECT username, password FROM users WHERE username = '" . $user . "' AND password = '" . $pass . "'";

$EXEC = mysqli_query( $QUERY );

if(mysqli_num_rows() < 1){
   
    unset($_SESSION['name'], $_SESSION['pass']);
   die( 'U bent niet ingelogd!');
}

?>

fout meldingen:

register.php
Parse error: syntax error, unexpected ';' in /home/gebruikersnaam/public_html/loginsystem/register.php on line 8
__________________________________
login.php
Parse error: syntax error, unexpected ';' in /home/gebruikersnaam/public_html/loginsystem/login.php on line 9

wat is hier fout aan?

de rest werkt.



[Moderator-Edit] Code-tags vervangen door Php-tags. [/Edit]
 
Laatst bewerkt door een moderator:
laat maar ik heb nu een ander login script dat ik heb aangepast.
 
maar weet iemad hoe je een e-mail kunt sturen vanaf een adres dat niet eens bestaat.
die zat er wel bij maar ik zie niet waar ik die moet veranderen nu staat er:
bij naam: yourname
bij e-mail: youremail@address

iemad enig iede hoe je dit kun veranderen.

(bron verwijderd)
 
Laatst bewerkt:
Zo te zien maakt ie van de naam en het adres constantes... zoek eens door je bron bestanden naar ergens waar staat
PHP:
define ( 'EMAIL_FROM_ADDR', 'yourname' );

Die moet je wijzigen daar naar je eigen naam :)

(en adres)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan