Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Strona na hasło
Forum PHP.pl > Forum > Przedszkole
Macck
Witam ,
Potrzebuje skryptu php w którym na stronie index.php będzie można podać hasło ,
jeśli będzie poprawne przeniesie do pewnego odnośnika na stronie który sam sobie wpisze , jeśli błędne nic się nie stanie , ewentualnie może się strona odświerzyć.

Prosze o pomoc , hosting cba.pl
Foxx
Jeżeli szukasz gotowego rozwiązania to trzeba było napisać w dziale "poszukuję".
Jeżeli programujesz ale Ci coś nie działa to wklej kod i opisz swój problem.
Macck
Tak , poszukuję .....
Tak jak napisałem , index.php z okienkiem do hasła , hasło np stronanahaslo
po wpisaniu prawidłowego hasła wbija na stronkę główną np : ruskijjanzykpono2dnamseiasmcmsdahwec1481mda.php (żeby sie nie dało zapamiętać)
a przy złym haśle resetuje się formularz ,
A i chciałbym aby w cache przeglądarki i w historii nie mogła zostać żadna podstrona tylko index.php
phpion
Cytat(Macck @ 19.02.2009, 20:49:57 ) *
ruskijjanzykpono2dnamseiasmcmsdahwec1481mda.php (żeby sie nie dało zapamiętać)

Zawsze można zapisać...
Macck
Tylko kto się "skapnie" ?
Chciałbym poprostu tak , bo uważam że to najprostrze i wystarczające rozwiązanie na potrzebę mojej klasowej stronki.

Słyszałem o tym całym md5 że tym dobrze zabezpieczyć

57db0d9ddf1db1cf24ab346ece4be83f - oto kod md5 , pomoże ktoś z skryptem logowania? Po wpisaniu hasła w tym wypadku 57db0d9ddf1db1cf24ab346ece4be83f = aseret czyli po wpisaniu aseret przenosi ze strony www.xxxx.cba.pl/index.php na stronę www.xxxx.cba.pl/ruskijjanzykponowymu712mas81wsbial8ay.php
Przypadku złego hasła resetuje formulaż....
już niech sobie cache będzie , jakoś to rozwiąże...
peter13135
zrób coś takiego

  1. <?
  2. echo '<form method="post"><input name="haslo" type="password"></form>';
  3. $zakodowane_haslo='57db0d9ddf1db1cf24ab346ece4be83f';
  4. if($_POST['haslo']
  5. if(md5($_POST['haslo'])==($zakodowane_haslo))
  6. {
  7. w tym miejscu zawartosc stronki która ma być po wpisaniu hasla
  8. blabla
  9. blabla
  10. ';
  11. }
  12. ?>
tjaden
<b>Mam taki kod, ale z wykorzystanie bazy danych nie wiem czy o to Ci chodziło.</b>
  1. <?php
  2.    session_start();
  3.    ob_start();
  4.    $_SESSION['id'] = 0;
  5.    $_SESSION['zalogowano'] = false;
  6.    
  7.    
  8. ?>
  9.  
  10. <html>
  11. <head>
  12. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  13.  
  14. <style>
  15. p {font-weight:bolder; font-size:17px}
  16. .dane{font-weight:bold; font-size:13px}
  17. </style>
  18. </head>
  19. <body>
  20.  
  21. <form action="strona_logowania.php" method="POST">
  22.    Podaj login:
  23.    <input type="text" name="login" size="25" /><br /><br />
  24.    Podaj hasło:
  25.    <input type="password" name="haslo" size="25" /><br /><br />
  26.    <input type = "submit" value="Potwierdź" name="guzik"/>
  27.    
  28.    
  29. <?php
  30.    
  31.    
  32.    
  33.    $pol = new mysqli('_', '_','_');
  34.    $pol->set_charset('utf-8');
  35.    
  36.    $username = $_POST['login'];
  37.    $password = $_POST['haslo'];
  38.    
  39.    $zapytanie_0 = "select id from log WHERE login = '$username'";
  40.    $zap_0 = $pol->query($zapytanie_0);
  41.     $wyk_0 = $zap_0->fetch_object();
  42.    
  43.    
  44.     if($wyk_0)
  45.     {
  46.         $qq = array();
  47.        $zapytanie_2 = "select * from log WHERE login = '$username' AND haslo = '$password' " ;
  48.        $zap_2 = $pol->query($zapytanie_2);
  49.         $qq = $zap_2->fetch_array();
  50.         if($qq)
  51.         {
  52.             $_SESSION['zalogowano'] = true;
  53.             $_SESSION['user'] = $qq;
  54.         }
  55.    }
  56.    else
  57.    {
  58.        echo "Niepoprawny login";
  59.    }
  60.    
  61.     if(isset($_POST['guzik']))
  62.     {
  63.         if(!$_SESSION['zalogowano'])
  64.         {
  65.            echo "Niepoprawne hasło";
  66.        }
  67.        else
  68.        {
  69.            //var_dump($qq);
  70.        }
  71.    }
  72.    ob_end_flush();
  73.  
  74. ?>
  75.  
  76. </body>    
  77. </html>
Macck
Peter , a można to zrobić aby z index.php przenosiło do /aserethaskr912masalejasl827dka2.php ?
DREEMus
nie rozumiem dlaczego kombinujesz ;D

przecież jak strona będzie na hasło, to i tak nie zobaczysz co na niej jest, jak go nie znasz ... proste biggrin.gif

ja mam tak ...

  1. <?php
  2. require_once 'funkcje.inc.php' // a w nich funkcja 'logowanie ()' ...
  3. if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW'])) {
  4.    logowanie ();    }
  5.        else {
  6.            $_SERVER['PHP_AUTH_USER'] = addslashes($_SERVER['PHP_AUTH_USER']);    
  7.            $_SERVER['PHP_AUTH_PW'] = md5($_SERVER['PHP_AUTH_PW']);
  8.            $a = "SELECT count(id) FROM logowanie WHERE haslo='" . $_SERVER['PHP_AUTH_PW'] . "' AND login='" . $_SERVER['PHP_AUTH_USER'] . "'";
  9.            $result = mysql_query ($a)
  10.                or die ('Nie mogę wybrać uzytkownika!');
  11.            $num = mysql_result ($result, 0);
  12.            if ($num == 0) {
  13.                logowanie (); } }
  14.  
  15. // reszta zabezpieczonej strony ...
  16. ?>

  1. <?php
  2. function logowanie () {
  3.    header("WWW-Authenticate: Basic realm=\"Administracja\"");
  4.    header("HTTP/1.0 401 Unauthorized");
  5.    echo "<h2>Brak dostępu!</h2>";
  6.    echo $a;
  7.    echo "Login lub hasło zostały źle wpisane. Prosze odświerzyć strone i spróbować ponownie ...";
  8.    exit; }
  9.  
  10.  
  11. function wylogowanie () {
  12.    unset ($_SERVER['PHP_AUTH_USER']); }
  13. ?>


i vuala biggrin.gif pozdrawiam smile.gif

PS. Tu potrzebna baza i użytkownik ...

Cytat(tjaden @ 19.02.2009, 19:58:26 ) *
  1. <?php
  2. header("Location: <a href=\"http://localhost/xampp/sesje/zalogowano.php");&#092;" target=\"_blank\">http://localhost/xampp/sesje/zalogowano.php");</a>
  3. ?>

Ta linijka odpowiada za przenoszenie ...
matixrr
Hasło: stronanahaslo

  1. <?
  2. echo '<form method="post"><input name="haslo" type="password"> <input type="submit" name="sendpass" value="OK"></form>';
  3. $zakodowane_haslo='6cb2f405bbe2db6c93f1927fda5fe43f';
  4. if(isset($_POST['sendpass'])&&(md5($_POST['haslo'])==$zakodowane_haslo))
  5. @header ('Location: aserethaskr912masalejasl827dka2.php');
  6. if(isset($_POST['sendpass'])&&(md5($_POST['haslo'])!=$zakodowane_haslo))
  7. echo'bledne haslo';
  8. ?>


PS. Tu nie potrzeba bazy biggrin.gif
Macck
matixrr ,
Świetne! Serio dam ci pomógł tylko powiedz dlaczego mnie nie przenosi po podaniu hasła .... tongue.gif
Foxx
Header nie zadziała bo wcześniej wysyłany jest za pomcą echo tekst do przeglądarki.
Od biedy możesz to przerobić:
  1. <?php
  2. $zakodowane_haslo='6cb2f405bbe2db6c93f1927fda5fe43f';
  3. if(isset($_POST['sendpass'])&&(md5($_POST['haslo'])==$zakodowane_haslo)){
  4.    @header ('Location: aserethaskr912masalejasl827dka2.php');
  5. } elseif(isset($_POST['sendpass'])&&(md5($_POST['haslo'])!=$zakodowane_haslo)){
  6.    echo'bledne haslo';
  7. } else {
  8.    echo '<form method="post"><input name="haslo" type="password"> <input type="submit" name="sendpass" value="OK"></form>';
  9. }
  10. ?>

Ale poczytaj sobie o header()" title="Zobacz w manualu PHP" target="_manual
Macck
znalazłem coś idealnego dla siebie rzecz w tym że nie działa mi to do końca

Ładnie tworzy bazę danych i userów pobiera i przyjmuje hasła ale nie przenosi mnie na stronę zabezpieczoną hasłem oraz nie działa mi na niej sesja ;(((
http://www.webtips.pl/post5820.html tam jest opisane
Foxx
Zastanów się trochę, jak Ci ktoś ma pomóc skoro nie wkleiłeś żadnego kodu
Macck
sorki , padł serwer cba i sie zastanawiałem czemu nie działa , na tej stronie jest kod http://www.webtips.pl/post5820.html
Foxx
No ale co my mamy robić, czytać ten kurs i wyszukiwać tam błąd dla Ciebie??
Wysil się trochę, zrób coś a jak będziesz miał problem to go tu opisz i wtedy będziemy się zastanawiać.
Macck
Ja włożyłem ten skrypt w stronę wszystko ładnie pięknie tylko nie tworzy mi sesji i nie przenosi po podaniu hasła ... to moje 2 problemy ;/
Foxx
Ok, no to pomoc na takim samym poziomie ogólności co pytanie: sprawdź czy nie wyświetla żadnych błędów (usuń @ sprzed funkcji), sprawdź czy wchodzi do wszystkich ifów do których powinno i czy wszystkie zmienne mają takie wartości jakie powinny.
ArekJ
To podaj kod! My nie wróżki.
Macck
Foxx , dzięki za cierpliwość dam sobie spokój z tymi sesjami bo to nie na moją głowę niestety ;/

Wracając do tego co podałeś czyl

Kod
1
2

    
<?php
$zakodowane_haslo='6cb2f405bbe2db6c93f1927fda5fe43f';
if(isset($_POST['sendpass'])&&(md5($_POST['haslo'])==$zakodowane_haslo)){
   @header ('Location: aserethaskr912masalejasl827dka2.php');
} elseif(isset($_POST['sendpass'])&&(md5($_POST['haslo'])!=$zakodowane_haslo)){
   echo'bledne haslo';
} else {
   echo '<form method="post"><input name="haslo" type="password"> <input type="submit" name="sendpass" value="OK"></form>';
}
?>


to po podaniu hasła znika formularz i tyle , czy muszę dać do kodu strony na którą ma mnie przenieść "aseret blebleble.php"
Kod
<?php

header('Location: aseretblebleble.php');
?>


questionmark.gif
piotrooo89
może Ci to - http://olaszewski.com/2008/12/22/logowanie...sql-przewodnik/ pomoże.
Macck
Dobra , mogło by być , tylko teraz :

W którym miejscu kodu postawić "silnik skryptu" czyli ten kod
Kod
ob_start();
    session_start();

    $login = $_POST['loguj'];
    if($login)
    {
        $user = mysql_escape_string($_POST['login']);
        $haslo = mysql_escape_string($_POST['pass']);

        include('../mysql.inc');

        $sql = mysql_query("SELECT * FROM admin WHERE user='$user' AND pass='$haslo'");

        if(@mysql_num_rows($sql))
        {
            session_register("uzytkownik");
            header("Location: admin.php");
        exit;
        }
        else
        {
            $message="Nieprawidłowa nazwa użytkownika lub hasło.";
        }
    }
    ob_end_flush();


I jak stworzyć tę tabelę?
Tj jaką komendę podać bazie do stworzenia tabeli ... ja jestem zielony w php i mysql więc potrzebuje wyjaśnien gdzie co i jak .... sorki


Ehh , tak nic z tego nie będzie , ktoś kto używał jednego z w/w skryptów i mu exclamation.gif!DZIAŁAŁexclamation.gif! (no bo jak bym nie kombinował mi nie działa)
proszę o kontakt pod numerem gg 1648082
piotrooo89
Cytat(Macck @ 22.02.2009, 22:00:49 ) *
W którym miejscu kodu postawić "silnik skryptu" czyli ten kod

to wstawiasz w miejsce gdzie masz formularz logowania. czyli tam gdzie wpisujesz hasło i login do strony.

Cytat(Macck @ 22.02.2009, 22:00:49 ) *
I jak stworzyć tę tabelę?

a masz phpMyAdmin? jak nie masz kod, od razu utworzyłem Ci usera nick: admin hasło: 123qwe

  1. --
  2. -- Struktura tabeli dla `admin`
  3. --
  4.  
  5. CREATE TABLE IF NOT EXISTS `admin` (
  6. `id` int(11) NOT NULL AUTO_INCREMENT,
  7. `user` varchar(20) NOT NULL DEFAULT '',
  8. `pass` text NOT NULL,
  9. PRIMARY KEY (`id`)
  10. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
  11.  
  12. --
  13. -- Zrzut danych tabeli `admin`
  14. --
  15.  
  16. INSERT INTO `admin` (`id`, `login`, `pass`) VALUES
  17. (1, 'admin', '123qwe');


wklejasz to w phpMyAdminie.

Pamiętaj również o połączeniu się z bazą. U mnie odpowiada za to plik include('../mysql.inc')
Macck
moj mysql.inc

Kod
<?
$dbhost = 'mysql.cba.pl';
$dbuser = 'klasa_a_2008;
$dbpass = 'xxxxx;
$dbname = 'klasa_a_2008_11_cba_pl

$dbc = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('Nie moge połaczyc sie z Mysql');
mysql_select_db ($dbname) or die ('Nie moge wybrać bazy');
?>


index z kodem

Kod
<HTML>
<HEAD>
<TITLE>Zaloguj się</TITLE>

<script type="text/javascript">
// <![CDATA[
function flash(id, kolor, czas, kolor2, czas2)
{
document.getElementById(id).style.color = kolor;
setTimeout('flash("' + id + '","' + kolor2 + '",' + czas2 + ',"' + kolor + '",' + czas + ')', czas);
}
// ]]>
</script>

<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
<meta http-equiv="Content-Language" content="pl" />

<style type="text/css" >
body{font-family:verdana;color:#C4D2EA;}
a{
color:white;
text-decoration:none;
}
a:hover{
color:white;
text-decoration:underline;
}
.menu{
font-size:11px;
text-align:right;
padding-right:25px;
padding-top:3px;
padding-bottom:3px;
}
</style>

</HEAD>
<body bgcolor="#002058" leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0" marginwidth="0" marginheight="0">
<table cellpadding="0" cellspacing="0" width="750" align="center">
<tr><td colspan=2 style="background:url(images/top1.jpg);text-align:right;font-size:10px;padding-top:2px;padding-right:28px;color:white;"

height="38">
<a href="index.php">Wyjdź</a>&nbsp;&nbsp;&nbsp;<a href="czemu.php">Dlaczego na hasło?</a>&nbsp;&nbsp;&nbsp;<a href="kontakt.php">KONTAKT</a>
  </td></tr>
<tr><td colspan=2 style="background:url(images/top2.jpg);padding-bottom:8px;padding-left:60px;font-size:22px;font-weight:bold;" valign="bottom"

height="90">

Logowanie Na Stronę

</td></tr>
<tr><td colspan=2><img src="images/top3.jpg" /></td></tr>
<tr><td colspan=2 style="background:url(images/top4.jpg)" height=34></td></tr>
  <tr>
   <td valign=top width=193>
  
    <!-- menu - tabelka -->
    <table cellpadding="0" cellspacing="0" width=100% background="images/menu_tlo.jpg">
    
    <tr><td style="background:url(images/menu_top.jpg);padding-left:19px;font-weight:bold;font-size:18px;padding-top:8px;"

height=44>
    
    Menu
     </td></tr>
     <tr><td class="menu"><a href="register.php">Rejestracja?</a></td></tr>
   <tr><td><img src="images/menu_space.jpg" /></td></tr>
    
     <tr><td><img src="images/menu_dol.jpg" /></td></tr>  
    
    </table>
    <!-- koniec menu -->
    <!-- księga go¶ći -->
     <table cellpadding="0" cellspacing="0" width=100% background="images/menu_tlo.jpg">
    
    <tr><td style="background:url(images/menu_top.jpg);padding-left:19px;font-weight:bold;font-size:17px;padding-top:8px;"

height=44>
    Pozostałe
    </td></tr>
     <tr><td class="menu"><a href="kontakt.php">Kontakt</a></td></tr>
    
    <tr><td><img src="images/menu_space.jpg" /></td></tr>
      
      
    <tr><td><img src="images/menu_dol.jpg" /></td></tr>  
    
    </table>
    
    <!-- koniec -->
  
    
  </td>
   <td valign=top width=557>
   <!-- panel - srodkowy 1 -->
    <table cellpadding="0" cellspacing="0" width=100%>
<tr><td style="background:url(images/srodek_top.jpg);padding-left:25px;font-weight:bold;font-size:18px;padding-top:8px;" height=44>Loguj</td></tr>

    <tr><td style="background:url(images/srodek_tlo.jpg);padding-left:20px;padding-right:8px;font-size:11px;padding-top:5px;">
    Logowanie na stronę<br>

<?
ob_start();
session_start();

$login = $_POST['loguj'];
if($login)
{
  $user = mysql_escape_string($_POST['login']);
  $haslo = mysql_escape_string($_POST['pass']);

  include('../mysql.inc');

  $sql = mysql_query("SELECT * FROM admin WHERE user='$user' AND pass='$haslo'");

  if(@mysql_num_rows($sql))
  {
   session_register("uzytkownik");
   header("Location: aserethaskr912masalejasl827dka2.php");
  exit;
  }
  else
  {
   $message="Nieprawidłowa nazwa użytkownika lub hasło.";
  }
}
ob_end_flush();
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Login:
<input id="login" name="login" type="text" />
Pass:
<input id="pass" name="pass" type="password" />
<input name="loguj" type="submit" value="Loguj" />
</form></center>


    
    </td></tr>
    <tr><td><img src="images/srodek_dol.jpg" /></td></tr>
    </table>
    
    
  
   </td>
  </tr>
  <tr><td height=6></td></tr>

<tr><td colspan=2 style="background:url(images/dol.jpg);text-align:right;font-size:10px;padding-top:2px;padding-right:28px;color:white;" height=36>

<center>

<center>
<div id="identyfikator">Powered By Macck<font size="2">™</font> </div>
<script type="text/javascript">
// <![CDATA[
flash("identyfikator", "yellow", 500, "green", 500);
// ]]>
</script>
Copyright by [url="http://www.d4u.glt.pl</center"]www.d4u.glt.pl</center[/url]>
</td></tr>

</table>




</BODY>
</HTML>




no i dalej nie przenosi po podaniu hasła dobre czy złe nic sie nie dzieje
matixrr
1) To co zostało opisane tu: http://www.webtips.pl/post5820.html działa poprawnie gdyż sam skorzystałem z tego biorac jeszcze do tego inny tutek tego autora na Panel Administracyjny... JAk coś nie działa to warto również przeczytać komentarze...

2) Może te cba to jakiś szajs? Na yoyo mi wszystko działało.

3) piotrooo89 podstawy, podstawami ale hasło w md5 to jednak wypada zakodować nawet przy prostej stronie winksmiley.jpg
piotrooo89
Cytat(matixrr @ 23.02.2009, 17:10:44 ) *
3) piotrooo89 podstawy, podstawami ale hasło w md5 to jednak wypada zakodować nawet przy prostej stronie winksmiley.jpg


jasne że można. jednak mój poradnik jest w dla początkujących. bardzo początkujących. smile.gif
Macck
matixrr ,
Skoro ogarniasz ten skrypt , możesz mi podać cały kod po kolei ? Bo tam na stronie kolesie piszą że są jakieś błędy , a tego set_cookie_params to wogóle w kodzie nie znalazłem , PA nie musi być .....

Nieaktualne smile.gif Już mam wszystko czego mi potrzeba i to idealnie tongue.gif http://www.forumweb.pl/viewtopic.php?t=22231 polecam , łatwy i efektywny.
mcfreak
Przepraszam , że odświeżam dość stary temat , ale nie lepiej zrobić tak?:

Tam gdzie mamy formularz (dla przykładu admin.php) , damy action na jakąś stronę w przykładzie użyje "admincheck.php"

w admincheck.php dajemy:

  1. <?php
  2.    $zakodowane_haslo='207023ccb44feb4d7dadca005ce29a64'; # nasze haslo w md5
  3.    if(md5($_POST['haslo'])==($zakodowane_haslo)){
  4.    echo '<IFRAME SRC="logi.txt" WIDTH=450 HEIGHT=400></p>'; # tekst wyswietlany po wpisaniu dobrego hasla
  5.    } else {
  6.    @header ('Location: admin.php'); # odswiezenie strony , jezeli zle haslo. mozna zmieniac
  7.    }
  8.    ?>
kwiatu5
A ja chciałbym polecić dla tych, którzy nie mają czasu lub siły się męczyć prosty w instalacji skrypt (skopiowanie jednego katalogu i wklejenie jednej linijki kodu na swoją stronę), który da wam możliwość zarządzania użytkownikami strony dostępnej na hasło (tzw. strony ekskluzywnej).

http://piotr.kwiatek.org/ums/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.