ďťż
Podstrony
|
telcocafePotrzebuję bardzo prostego skryptu w php:na stronie jest pole na wpisanie hasła i pod spodem jest przycisk OK. Jak ktoś wpisze dobre haslo i kliknie OK, to skrypt sprawdza, czy takie haslo jest w pliku txt na serwerze, a jak jest, to przekierowywuje na odpowiednią stronę, jak haslo jest złe, to wyświetla komunikat "żle hasło". Ma być tylko jedno pole na haslo, bez nazwy użytkownika - samo haslo! Było, było, było... google.pl google.pl google.pl - autoryzacja w php! Było, było, było... google.pl google.pl google.pl - autoryzacja w php! wiem. Było w Ekspercie, ale tam jest, że się podaje nazwę użytkownika i haslo, a ja chcę prostszy skrypt - samo haslo! Ale tam wszędzie jest nazwa użytkownika, a ja nie znam się na PHP :( Po pierwsze hasło zapisz w pliku php nie txt, bo txt da się odczytać a php za nic ;) Ten php z hasłem miałby najlepiej taką składnie: <? $password = twoje_haslo; ?> Następnie skrypt: [strona na której jest pole z hasłem] [..] <form method=post action=sprawdz.php> <p>Podaj hasło: <input type="password" name="pass" size="10"><input type="submit" value="OK"></p></form> [...] Tego byś się sam domyślił ale ważne jest żeby ten pierwszy input miał parametr name="pass". Teraz w tym samym katalogu daj plik sprawdz.phpi w nim taki kod: if (isset($_POST['pass'])) { include('plik_z_haslem.php'); if($password == $_POST['pass']) { ?> <script language="Javascript"> location.href = 'strona.php'; </script> <? } else { echo "<b>Podano błędne hasło</b><br>"; } } else echo "Nie podano hasła"; Nie zapomniej zmienić strona.php na adres na jaki ma być przekierowanie, oraz tego plik_z_haslem.php na adres tego pliku z hasłem. A jak chcę mieć kilka haseł, to dać je w tym pierwszym pliku php po przecinku, czy jak? To trzeba je wsadzić do tabeli i zrobić instukcję iteracyjną który by to sprawdzała. Tu masz przerobiony plik z hasłem: <? $password[1] = "twoje_haslo1"; $password[2] = "twoje_haslo2"; $password[3] = "twoje_haslo3"; (..) $password[n] = "twoje_haslon"; ?>Teraz sprawdz.php: <?if (isset($_POST['pass'])) { include('plik_z_haslem.php'); for($i = 1; $i <= [ilosc hasel]; $i++) { if($password[$i] == $_POST[pass]) $allow = TRUE; } if($allow == TRUE) { ?> <script language="Javascript"> location.href = 'strona.php'; </script> <? } else { echo "<b>Podano błędne hasło</b><br><br><code>By dh_maniak</code>"; } } else echo "Nie podano hasła<br><br><code>By dh_maniak</code>"; ?> I taka notka: nie możesz korzystać z tego w kodu w celach komercyjnych... chyba że się dogadamy... heh ;) Jescze jedno: jak się nie wpisze żadnego hasla i kliknie OK, to przekierowywuje na stronę, a tak nie może być! sprawdz.php(poprawione) <?if (isset($_POST['pass']) && $_POST['pass'] != "") { include('plik_z_haslem.php'); for($i = 1; $i <= [ilosc hasel]; $i++) { if($password[$i] == $_POST[pass]) $allow = TRUE; } if($allow == TRUE) { ?> <script language="Javascript"> location.href = 'strona.php'; </script> <? } else { echo "<b>Podano błędne hasło</b><br><br><code>By dh_maniak</code>"; } } else echo "Nie podano hasła<br><br><code>By dh_maniak</code>"; ?> Mam kolejny problem :( Chodzi o to, że jest np. stronka index.php z tym polem na wpisanie hasla. Jak wpisze się haslo, to przekierowywuje na np. index2.php, ale jak wpisze się http://mojastrona/index2.php, to można obejrzeć tą stronę bez posiadania hasła :( Użytkownik Romek D. edytował ten post 28 lipiec 2005, 13:16 I jescze jedno: Czy nie można jakoś przerobićtego pliku z hsłami: <? $password[1] = "twoje_haslo1"; $password[2] = "twoje_haslo2"; $password[3] = "twoje_haslo3"; ?> Bo tak jak są tylko trzy pozycje, to jest łatwo, ale co zrobić, gdy chce dać kilka tysięcy haseł :blink: Przecież nie będę ręcznie wszystkiego wpisywał! Możeby zrobić jakoś, żeby był jeden plik z samymi hasłami, bez tego "$password[1] =" itd. ??? <? $password = array("kolejne", "hasła", "po", "przecinku"); ?> <? $password = array("kolejne", "hasła", "po", "przecinku"); ?> To trzeba by było explodować te dane z tego pliku. Odsyłam do kursu php i zachęcam do przerabiania mojego skryptu. 1. W jakim formacie są te hasła? Jedno pod drugim? 2. Zapoznaj się z funcjami implode i explode w manualu PHP. 1. W jakim formacie są te hasła? Jedno pod drugim? 2. Zapoznaj się z funcjami implode i explode w manualu PHP. W którymś z ostatnich ekspertów było o takim czymś. Na płytce był chyba nawet system do sprawdzania kodów. Ja zrobiłem tak! Zapisałem loginy użytkowników w bazie mysql. Następnie łącze się z baża danych i pobieram loginy i hasla uzytkowników (tego skryptu nie pisze bo jest baaardzo znany osobom uzywajacym php i mysql)! Następnie w skrypcie porównuje haslo wpisane i pobrane z bazy no i oczywiscie loginy i jesli sie zgadza to wrzucam kolesiowi na dysk ciacho i wtedy za kazdym razem jesli chce wejsc na strone ktró wymaga zalogowanie to skrypt na poczatku sprawdze czy w caichu jest odpowiednia wartosc i jesli kolo chce sie wylogowac to kolejny skrypt zmienia wartosc w ciachu! Może potem napisze cały ten skrypt a jesli chcesz go znac szybiecj to napisz do mnie na maila! Człowieku czytaj. Jemu chodzi o to jak do skryptu php załadować te wszystkie 2000 lini z pliku txt(załadować do tabeli). <?if (isset($_POST['pass']) && $_POST['pass'] != "") { $password = file('plik z haslami.txt'); for($i = 0; $i < count($password); $i++) { if($password[$i] == $_POST[pass]) $allow = TRUE; } if($allow == TRUE) { ?> <script language="Javascript"> location.href = 'strona.php'; </script> <? } else { echo "<b>Podano błędne hasło</b><br><br><code>By dh_maniak</code>"; } } else echo "Nie podano hasła<br><br><code>By dh_maniak</code>"; ?> Teraz powinno działać. Zamiast plik z haslami.txt daj ścieżkę do pliku. I każde hasło w tym pliku musi być w osobnej linii ;) Niestety żeby wejść na tą stronę na którą ma być przekierowanie nie trzeba podawać wcale hasła. Wystarczy wejść bezpośrednio pod adres tej strony. Użytkownik dh_maniak edytował ten post 28 lipiec 2005, 23:31 Niestety żeby wejść na tą stronę na którą ma być przekierowanie nie trzeba podawać wcale hasła. Wystarczy wejść bezpośrednio pod adres tej strony. dh_maniak mógłbyś jescze raz powiedzieć wszystkie pliki, jakie powinny być na serwerze i co w każdym z tych plików ma być, bo już się całkowicie w ty pogubiłem :( To to zdążyłem zauważyć, ale jak się przed tym zabezpieczyć? Autoryzację możesz sciągnąć z TEJ strony dh_maniak mógłbyś jescze raz powiedzieć wszystkie pliki, jakie powinny być na serwerze i co w każdym z tych plików ma być, bo już się całkowicie w ty pogubiłem :( dh_maniak, a o in_array słyszałeś ? :> A z czym to się je Bełdzio? :D @Romek D. - poczytaj jakiś kurs php od podstaw - to jest 3 dni nauki - i pocztyaj o sesjach i wtedy napisz skrypt sprawdzający hasło i zapisujący zmienną sesyjną, że użytkownik wpisał hasło. Ew. możesz użyć też ciastek. BTW. Zauważyłem że chcesz wykorzystać ten skrypt na stronie komercyjnej a więc niestety za frajer nie napisze Ci całego skryptu. Tak jak wyżej napisałem naucz się php i napisz taki skrypt. Jest to 5 min roboty. dh_maniak, a o in_array słyszałeś ? :> RTFM. http://pl.php.net/ma...on.in-array.php |
|||
Sitedesign by AltusUmbrae. |