Skocz do zawartości
Tomal

Prośba o prosty skrypt logowania php.

Polecane posty

Witam, poszukuję skryptu który zabezpieczy stronę przed niepożądanymi gośćmi ^_^ Loginy i hasła chciałbym ustalać samodzielnie dodając je do jakiegoś pliku, lub przez jakiś prosty panel admina :) Aby zapobiec używaniu przez wiele osób jednego loginu i hasła, potrzebuje jeszcze historii logowań tzn. z jakiego IP i kiedy się kto logował.

 

Niestety na google nic nie znalazłem.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY

Chyba, że dostęp mają mieć tylko upoważnione osoby.

Wtedy wystarczy Ci htaccess + htpasswd ^_^

Udostępnij ten post


Link to postu
Udostępnij na innych stronach


The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

 

Efekt jaki uzyskalem po dodaniu .htaccess ^_^

 

Oto treść tego pliku:

 

AuthName "Podaj login i haslo"
AuthType Basic
AuthUserFile /httpdocs/hs/.htpasswd
Require valid-user

 

plik htpasswd:

 

login:haslo

 

Error pojawia się po wpisaniu loginu i hasla.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie pomogło, nadal po wpisaniu hasła dostaje Internal Server Error

 

Mogę wpisać fałszywe dane i to samo.

 

Może ktoś posiada skrypt php o który prosiłem? Skrypt może wykorzystywać mysql. Plusik za coś co będzie działać ^_^

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY

> AuthUserFile /httpdocs/hs/.htpasswd

 

Napewno ?

Pamietaj ze to ma byc sciezka bezwzgledna

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

AuthUserFile http://mojadomena.pl/hs/.htpasswd

 

Dałem teraz tak i nadal nie idzie. Jak skasuje zawartość .htaccess to wszystko jest okej, więc może jednak skrypt w php byłby lepszy?

 

@Fiercio nie wiem.

 

Problem rozwiązany ^_^ Fiercio dzieki za link, spojrzalem na sciezke do pliku .htpasswd i juz wiem co robilem nie tak.

 

Tak wygląda poprawna ścieżka w moim przypadku:

 

/srv/www/vhosts/mojadomena.pl/httpdocs/hs/.htpasswd

 

 

 

A teraz co zrobić żeby były zapisywane ip tych co się zalogują?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A teraz co zrobić żeby były zapisywane ip tych co się zalogują?

IP tych co się zalogują (i tych, co się niezalogują także) znajdziesz w serwerowym access.logu ^_^

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

<?php 
session_start();

$login = 'gynio';
$haslo = 'tajnehaslo';

if($_POST['akcja']=='login'){
  if(($_POST['login'] == $login)AND($_POST['haslo'] == $haslo)){
     $_SESSION['user'] = $login; 
  }else{
     unset($_SESSION['user']);
     die('Blad');
  }
}

if(isset($_SESSION['user'])){
 echo "Tekst tylko dla zalogowanego";
}

?>

<form action="" method="post">
<input type="hidden" name="akcja" value="login">
Login:<input type="text" name="login"><br />
Hasło:<input type="password" name="haslo"><br />
<input type="submit" value="Zaloguj">
</form>

Tak na szybko ;p

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

IP tych co się zalogują (i tych, co się niezalogują także) znajdziesz w serwerowym access.logu :)

 

Gdzie on sie zapisuje?

 

 

@Gynio

Dzięki, jeszcze potrzebuje coś żeby zapisywało ip zalogowanych :) A jeśli będe chciał dodać drugie konto to gdzie mam je wpisać? Po zalogowaniu myślę że nie potrzebna jest już ramka do wpisania loginu/hasła.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY
Gdzie on sie zapisuje?

Tam, gdzie jest to ustawione w konfigu apache.

Niezalogowani będą mieli status 401

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dzięki, jeszcze potrzebuje coś żeby zapisywało ip zalogowanych :D A jeśli będe chciał dodać drugie konto to gdzie mam je wpisać? Po zalogowaniu myślę że nie potrzebna jest już ramka do wpisania loginu/hasła.

<?php 
session_start();

$login = 'gynio';
$haslo = 'tajnehaslo';

$login2 = 'gynio2';
$haslo2 = 'tajnehaslo2';


if($_POST['akcja']=='login'){
if((($_POST['login'] == $login)AND($_POST['haslo'] == $haslo))OR(($_POST['login'] == $login2)AND($_POST['haslo'] == $haslo2))){
$_SESSION['user'] = $login; 
// tu mozesz dodac jakis zapis do pliku/bazy IP zalogowanych
}else{
unset($_SESSION['user']);
die('Blad');
}
}

if(isset($_SESSION['user'])){
echo "Tekst tylko dla zalogowanego";
}

else echo '<form action="" method="post">
<input type="hidden" name="akcja" value="login">
Login:<input type="text" name="login">

Hasło:<input type="password" name="haslo">

<input type="submit" value="Zaloguj">
</form>';

?>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Praktycznie wszystko można zrobić na bazie..

 

Zrób sobie tabele o nazwie admin_panel_log

id - int(11) autoincrement,

ip - varchar (18) DEFAULT NULL,

time - varchar (11) DEFAULT 0

 

mysql_query("INSERT INTO admin_panel_log SET ip='".$_SERVER[REMOTE_ADDR]."', time='".time()."';")

 

Co do logowania można to zrobić na bazie, wtedy możesz mieć xxxxx kont i każdy może się logować.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak dobrze pamiętam to bardzo podobny skrypt jest na algorytmy.pl:

 

http://algorytmy.pl/?id=835 -

 Jak zrobić stronę dostępną na hasło tylko dla wybranych użytkowników z wykorzystaniem sesji?[/b]

http://algorytmy.pl/?id=2010 - [php] Jak wykonać system logowania (dostępu na hasło), aby każdy użytkownik miał własne strony w swoim katalogu?

http://algorytmy.pl/?id=1000 - [php][MySQL] Jak wykonać profesjonalny system logowania i dostępu na hasło?

 

http://algorytmy.pl/?id=56 - [b][Apache] Jak zrobić stronę dostępną na hasło tylko dla wybranych użytkowników?[/b]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@darex

Te rzeczy z algotymy są:

a/ płatne

b/ nie ma nic w nich napisane, ze logują IP osób logowanych

 

Kolego już Ci raz zwracałem na to uwagę:

§ 3Sygnatura (podpis):

§ 3.1 Podpis powinien mieć maksymalnie cztery linijki tekstu.

 

U Ciebie jest 5 do tego ja tego nie rozumiem ale po kiego grzyba chwalić się jaki ma się komputer w sygnaturce ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość N3T5kY
U Ciebie jest 5 do tego ja tego nie rozumiem ale po kiego grzyba chwalić się jaki ma się komputer w sygnaturce ?

Sens jest wtedy, kiedy jest się czym chwalić :D

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Sens jest wtedy, kiedy jest się czym chwalić ;)

...i jest się w miejscu, w którym można się pochwalić

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
<?php 
session_start();

$login = 'gynio';
$haslo = 'tajnehaslo';

if($_POST['akcja']=='login'){
   if(($_POST['login'] == $login)AND($_POST['haslo'] == $haslo)){
      $_SESSION['user'] = $login; 
   }else{
      unset($_SESSION['user']);
      die('Blad');
   }
}

if(isset($_SESSION['user'])){
  echo "Tekst tylko dla zalogowanego";
}

?>

<form action="" method="post">
<input type="hidden" name="akcja" value="login">
Login:<input type="text" name="login"><br />
Hasło:<input type="password" name="haslo"><br />
<input type="submit" value="Zaloguj">
</form>
Tak na szybko ;p

 

Masz u mnie duże piwo - działa!!!!

 

Sorry za odkopanie topicu, ale wątek znalazłam w google, a mam pytania i wątpliwości...

 

Formularz działa, ale czy dałoby radę usunąć formularz logowania po zalogowaniu? Tak, żeby na jego miejscu pozostał tylko tekst, który jest dostępny jedynie po zalogowaniu. Albo inaczej - żeby na miejscu formularza do logowania, pojawił się button - wyloguj. Formularz logowania trochę mi przeszkadza :)

 

Będę wdzięczna za pomoc :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×