Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]logowanie!?
gubus15
post
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


witam wszystkich mam pewien problem mianowicie napisałem stronke z logowaniem i rejestracja ipt. itd.
robiac wszytsko na lokalu (krasnal) wszystko smiga bez zarzuty kiedy wrzuciłem strone na serwer (lua.pl) skrypt logowania nie działa po prostu nie da sie zalogowac nic sie nie dzieje ani nie da rady sie zarejestrowac czekam na wasza odp i pomoc
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 30)
l0ud
post
Post #2





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Za mało napisałeś. Umieść źródło tego skryptu...


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Maciekbjw
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Co to znaczy że skrypt nie działa?

Wklej jakiś kod to Ci podpowiem, jeśli będę wiedział, bez tego trudno powiedzieć czemu to "nie działa".


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #4





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


Kod
<?
  include "session.php";
?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title>
  ..:: Logowanie na stronie www ::..
</title>
</head>
<body>

<table border=100 width=100%>
<TABLE border=0 cellspacing=0 align=center>

<!-- lewa strona -->
<tr><td width=25% height=450 valign=top>
  <?
    include "left.php";
  ?>
</td>

<!-- koniec -->

<!-- prawa strona -->
<td valign=top>
<?
  if($page=="") $page="link1";
  if(!file_exists($page.".php"))
  {
     include "default.php";
  }
  else
  {
    include_once $page.".php";
  }

?>  
</td></tr>
<!-- koniec -->

</table>


<!-- stopka -->
<center><small>Computer&security</a></small></center>
<!-- koniec -->


</body>
</html>


wiec po prostu kiedy na lokalu daje zaloguj/zarejestruj wszytsko gra loguje rejestruje kiedy wrzuciłem na serwer juz nic daje zaloguj i nic sie nie dzieje nie chce sie zalogowac nie wiem dlaczego prosze was o pomoc
Go to the top of the page
+Quote Post
Maciekbjw
post
Post #5





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No to rzeczywiście dużo wkleiłeś... Pokaż kod tego formularza z przyciskiem, tylko pokaż konkretnie, bo następnym razem nikt Cię o to prosił nie będzie.


--------------------
Masz swoje mieszkanie i chcesz je wynająć? Sprawdź ofertę Zarzadządzanie Najmem

WRONA.IT - pozycjonowanie stron
www.ecyklopedia.pl
Go to the top of the page
+Quote Post
l0ud
post
Post #6





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Kod który dałeś niewiele mówi - widać tylko dziurę pozwalającą na wykonanie lokalnego kodu [niebezpiecznie dołączasz podstronę], jednak domyślam się, co może być źle. Na serwerze jest zapewne wyłączone registered_globals, a na krasnalu włączone. Poczytaj, ja właściwie odnosić się do zmiennych tutaj

http://webhosting.pl/kategorie/kursy/kurs_...wanie_zmiennych

punkt 8.4

czyli np. do pola formularza przekazanego metodą post o nazwie 'asd' odniesiesz się tak
  1. <?php
  2. $_POST['asd']
  3. ?>

a nie tak
  1. <?php
  2. $asd
  3. ?>


Ten post edytował l0ud 1.03.2008, 22:02:15


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #7





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


ok
tu plik pokazujacy zalogowanego i formularz:
Kod
<?
if(!auth())
{
   include "login.frm";
   print "&raquo; <a href=\"index2.php?page=registration&".SESID."\">Rejestracja nowego konta</a>\n";

}
else
{
print ('</br>');
print ('<center>');
print "<p class=ok align=center>Witaj {$_SESSION["USER_LOGIN"]}, udało się Tobie poprawnie zalogować.</p>";  
print ('<center>');

print "&raquo; <a href=\"index2.php?page=logout&".SESID."\">Wyloguj [" . $_SESSION["USER_LOGIN"] . "]</a>";
}
?>



tu plik login

Kod
<table border=1 width=100%>
<tr><th align=center>
..:: System logowania ::..
</th></tr>
</table>


<?
if(!auth())
{
   print "<p class=error align=center>Złe hasło lub login exclamation.gif!</p>";
}

?>


Kod
<form action="index2.php" method="post">
<input type="hidden" name="page" value="login">
<input type="hidden" name="<?=SESSION_NAME()?>" value="<?=SESSION_ID()?>">

<b>Login:
</b>
<input type="text" name="login" size="16" value="<?=$_POST["login"]?>">



<b>Hasło:</b>

<input type="password" name="passwd" size="16" value="">

<input type="submit" name="submit" value="Zaloguj">

</form>


i tu rejestracja

Kod
<FORM action="index2.php?p=registration&<?=SID?>" method="post">
<INPUT type="hidden" name="page" value="registration">
<INPUT type="hidden" name="<?=SESSION_NAME()?>" value="<?=SESSION_ID()?>">


<TABLE border=0 cellspacing=0 align=center>
</br>

<tr><td align=right>
<b>login:</b>
</td><td>
<INPUT type="text" name="login" value="<?=$login?>">
</td></tr>


<tr><td align=right>
<b>hasło:</b>
</td><td>
<INPUT type="password" name="passwd" value="<?=$passwd?>">
</td></tr>







<tr><td colspan=3 align=center>
<INPUT type="submit" name="submit" value="Rejestruj">
</td></tr>

</TABLE>
</FORM>

<!-- legenda -->
<b><TT>Legenda:</TT></b><p>
<b><font color="red"><TT>Login</TT></font></b> - może zawierać znaki alfanumeryczne, znaki podkreslenia i myslniki.
Wielkość liter nie ma znaczenia, a liczba znaków zawiera się w przedziale od 1 do 15.



<b><font color="red"><TT>Hasło</TT></font></b> - pamiętaj, małe litery i duże litery to zupełnie różne litery :-),
liczba znaków od 3 do 15, reszta jak wyżej.



Kod
<table border=1 width=100%>
<tr><th align=center>
..:: Rejestracja ::..
</th></tr>
</table>


<?
$result = False;
if($submit)
{
   if(!$login || !$passwd)
   {
     echo "<p class=error align=center>Wszystkie pola są obowiązkowe.</p>\n";
   }
   elseif(!eregi("^[_[:alnum:]-]{1,10}$",$login))
   {
     echo "<p class=error align=center>Nieprawidłowy login.</p>\n";
   }
   elseif(!eregi("^[_[:alnum:]-]{3,10}$",$passwd))
   {
     echo "<p class=error align=center>Niepoprawne hasło.</p>\n";
   }
   elseif(user_exists($login))
   {
     echo "<p class=error align=center>Login \"$login\" jest już zajęty.</p>\n";
   }
   else
   {
     $result = True;
     // formatuje wprowadzone dane
     $login = strtolower($login);
     add_user($login, md5($passwd));

     // informacjie o nowym koncie
     echo "<p class=ok align=center>Konto zostało utworzone.</p>\n";      
     echo "Nie zapomnij hasła ";
     echo "Możesz teraz się zalogować!!!.";  
   }
}

if(!$result)
{
   // usówa tagi html z formularza
   $login  = htmlentities(substr($_POST["login"], 0, 255));
   include "registration.frm";
}
?>



pomózcie mi
Go to the top of the page
+Quote Post
l0ud
post
Post #8





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Jest tak jak pisałem wyżej - niekonsekwentnie odnosisz się do zmiennych. Raz dobrze, np. tu
  1. <?php
  2. $login = htmlentities(substr($_POST["login"], 0, 255));
  3. ?>


a raz źle, jak np. tu
  1. <?php
  2. if($submit)
  3. ?>


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #9





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


czyli jak mam zrobic zeby było dobrze kurcze pomóżcie mi bardzo mi na tym zalezy z góry bardzo dziękuje smile.gif
Go to the top of the page
+Quote Post
l0ud
post
Post #10





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Jeżeli bardzo Ci zależy, to powinieneś po prostu przeczytać ten fragment kursu który podałem wyżej, a wiedziałbyś, żeby nie robić tak
  1. <?php
  2. if($submit)
  3. ?>


a tak

  1. <?php
  2. if($_POST['submit'])
  3. ?>


albo jeszcze lepiej - tak

  1. <?php
  2. if(isset($_POST['submit']))
  3. ?>

żeby nie wywoływać żadnego notice w php...


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #11





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


kurcze no ja przeczytałem ten kawalek 2 razy i jeszce inne czytałem próbowałęm to naperawic ale nie umiem nie wime jak bardzo Cie prosze napisz mi jak mam to zrobic zeby dzialo calkiem
Go to the top of the page
+Quote Post
hondek
post
Post #12





Grupa: Zarejestrowani
Postów: 355
Pomógł: 50
Dołączył: 20.08.2007
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


jak wysylasz zmienna formularzem metoda POST to odbierasz ją pozniej $_POST['zmienna']; a nie $zmienna, wiec zobacz gdzie w skrypcie masz te bledy i gotowe...


--------------------
przetwornik yt na czasie :)
Go to the top of the page
+Quote Post
gubus15
post
Post #13





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


witam was tylko mam problem kiedy szukałem tego nie moge znalesc wszedzie mam $_POST["zmienna"]

moze ja zle szukam ale wydaje mi sie ze mam wszedzie dobrze;/
Go to the top of the page
+Quote Post
l0ud
post
Post #14





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


  1. <?php
  2. if($submit)
  3. {
  4.  if(!$login || !$passwd)
  5. ?>


A skąd pochodzą te zmienne, jak nie z formularza? Popraw to... Oczywiście podobny błąd masz w innych miejscach...


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #15





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


Poprawiłem to tak
Kod
if(isset($_POST['submit']))
{
  if(!$_POST['login'] || !$_POST['passwd'])


i no dalej rejestracj mi nie wyskuje i nie rejestruje sadsmiley02.gif
Go to the top of the page
+Quote Post
l0ud
post
Post #16





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Napisałem, że podobny błąd masz w innych miejscach. I to nie musi być tylko post, może być też np. get i session...


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #17





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


NO TO JA JUZ NIE MAM SIł SAM JUZ NIE WIEM nie mógł bys pokazac co mam poprawic bardzo cie prosze sad.gif
Go to the top of the page
+Quote Post
l0ud
post
Post #18





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


ehh... Umieść gdzieś pełną paczkę z całym skryptem, który działa Ci na krasnalu, to to uruchomię u siebie i poprawię...


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #19





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


masz tu wszystko całą paczke
Kod
http://www.plikus.pl/zobacz_plik-||||||-126443.html

hasło:qwerty


z góry ci naprawde dziekuje a i jak mozesz to prosze o szybkie zrobienie tego bardzo mi na tym zalezy:(

zaraz jak poprawisz daj znac to usune ten plik z plikusia smile.gif pozdrawiam
Go to the top of the page
+Quote Post
l0ud
post
Post #20





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Poprawiłem to, co według mnie było nie tak:

http://www.sendspace.com/file/q9nz5k

Pamiętaj żeby nadać odpowiedni chmod dla pliku users.dat na serwerze. Pomijam fakt, że trzymanie tak danych użytkowników nie jest bezpieczne (no chyba że masz odpowiednio długie hasło)

Ten post edytował l0ud 2.03.2008, 16:33:15


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #21





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


Bardzo ale to bardzoooooooooo ci dziękuje wszystko dziala ale mam jeszcze jedno pytanie co mam zrobic zeby wszystko było bezpieczne??
Go to the top of the page
+Quote Post
l0ud
post
Post #22





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


No np. masz 3 metody

- podszkol się i zacznij używać bazy danych
- umieść plik z userami poziom niżej, do folderu z którego nie można się dostać z przeglądarki (poza public_html)
- (najbardziej prymitywna metoda tongue.gif ) zmień nazwę pliku i odniesienia do niego w skrypcie na jakąś bardziej skomplikowaną, i nikomu jej nie podawaj... tongue.gif

Ten post edytował l0ud 2.03.2008, 16:46:45


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #23





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


ok dzieki aha a co do bazy mysql to mam juz 2 stronki i umiem zrobic skrypcik oparty na bazie dlatego tez postanowiłem zrobic teraz na plikach smile.gif (coś nowego ) ale nie wiedziałem ze to takie niebezpiczne bo np. na bazie to wime ze mozna wyciagnac sql injection ;p a na plikach nie wiedizłem ale teraz juz wiem smile.gif

Acha i powiedz mi jeszcze pod wzgledem skryptowym to wszytsko jest bezpieczne??
Go to the top of the page
+Quote Post
l0ud
post
Post #24





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Cytat
Acha i powiedz mi jeszcze pod wzgledem skryptowym to wszytsko jest bezpieczne??


Niekoniecznie. Źle dołączałeś podstronę, to to 'trochę' poprawiłem, polecam jednak zrobić po prostu switch z gotowymi elementami. Prawdopodobnie jest też 'dziura' XSS w nazwach użytkowników (zastosuj htmlspecialchars() )


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
likedat
post
Post #25





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 1.03.2008

Ostrzeżenie: (0%)
-----


Albo mozesz tez w pliku dodać <?php na jego początku i ?> na końcu. Spowoduje to parsowanie go przez php przy próbie jego otworzenia. Musisz tylko pamiętać o doklejaniu tego podczas edycji pliku. Mimo wszystko bazy są wydajniejsze, prostsze i bezpieczniejsze. Przed Sql Injection też da się obronić, trzeba tylko pamiętać, aby filtrować dane pochodzące od użytkowników. Masz opis tego wyżej, topik jest przyklejony tongue.gif
Go to the top of the page
+Quote Post
gubus15
post
Post #26





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


rozumiem rozumiem a jak ta dziure xss dokladnie zalatac questionmark.gif
Go to the top of the page
+Quote Post
likedat
post
Post #27





Grupa: Zarejestrowani
Postów: 20
Pomógł: 1
Dołączył: 1.03.2008

Ostrzeżenie: (0%)
-----


  1. <input type='text' value='<?php htmlspecialchars($_POST['zmienna']); ?>' />
Go to the top of the page
+Quote Post
l0ud
post
Post #28





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Przed wyświetlaniem przepuszczać nazwę użytkownika przez htmlspecialchars(). (i wszystkie inne dane, jakie user może wprowadzić na stronie)

http://pl.php.net/manual/pl/function.htmlspecialchars.php

edit

Ot tak właśnie, jak to pokazał likedat, który mnie uprzedził winksmiley.jpg

Ten post edytował l0ud 2.03.2008, 19:48:44


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #29





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


czy teraz jest juz dobrze??
Kod
<form action="index2.php?page=login" method="post">
<!-- <input type="hidden" name="<?=SESSION_NAME()?>" value="<?=SESSION_ID()?>"> -->

<b>Login:<br></b>
<input type="text" name="login" size="16" value='<?php htmlspecialchars($_POST['zmienna']); ?>' />
<br>

<b>Hasło:</b><br>
<input type="password" name="passwd" size="16" value="">

<input type="submit" name="submit" value="Zaloguj">

</form>


oczywiscie tam gdzie zmienna to login ;p

a powiedz mi jeszcze jakie mam ustawic chmody na tebn plik users??
Go to the top of the page
+Quote Post
l0ud
post
Post #30





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


jak poprawiłeś w innych miejscach też to dobrze... Chmody, to juz zależy od konfiguracji serwera. Ogólnie jeżeli nie działa, ustaw na 777.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
gubus15
post
Post #31





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 28.02.2008

Ostrzeżenie: (0%)
-----


ok chmody ustawione xss poprawione plik z userami zmieniony haslo poprawie wiec co teraz bedzie dobrze smile.gifquestionmark.gif
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 07:15