Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> (!) Cookies - problemy z 2 plikami
MP1
post
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


Cookies zapisywane jest w pliku login.php i dobrze jest odczytywane. Natomiast w pliku index.php nie chce odczytać ciastka (zawartość pusta). Nie kasuje się ono, ponieważ po powróceniu do login.php zawartość wyświetla się. Obydwa pliki są w tym samym katalogu.
Poniżej dam potrzebne fragmenty plików...

INDEX.php:
[php:1:08f9e69b33]<?php
if($log=="plik3man")
{
if($HTTP_COOKIE_VARS['Plik3Man'.$security] == $login.$pass.$security) {
echo('');
} else {
echo('
<script type="text/javascript">location="login.php?x='.$security.'"</script>
');
} }
if($log=="system")
{
if (!isset($_SERVER['PHP_AUTH_USER']))
{
header('WWW-Authenticate: Basic realm="Wpisz login i hasło, aby dostać się do administracji."');
header('HTTP/1.0 401 Unauthorized');
echo 'Musisz się zalogować.';
exit;
} }
else {
echo('BŁĄD!');
}
if($HTTP_COOKIE_VARS["Plik3Man".$security] != $login.$pass.$security)
{
echo('t');
}
echo($HTTP_COOKIE_VARS['Plik3Man'.$security]);
?>[/php:1:08f9e69b33]

LOGIN.php:
[php:1:08f9e69b33]<?php
if($_GET['logint']=="tak")
{
setcookie("Plik3Man".$security,$login.$pass.$security,time()+5000000);
if($HTTP_COOKIE_VARS['Plik3Man'.$security] == $login.$pass.$security)
{
echo('Zalogowałeś się pomyślnie.');
}
else {
echo('Nieprawidłowy login lub hasło!');
} }
?>[/php:1:08f9e69b33]
[php:1:08f9e69b33]<?php
if($_GET['logint']=="tak")
{
echo('<meta http-equiv="refresh" content="3; URL=index.php" />');
}
echo($_COOKIE['Plik3Man'.$security]);
?>[/php:1:08f9e69b33]
[php:1:08f9e69b33]<?php
if($x==$security)
{
echo('
<div align="center">$Plik3Man - logowanie</div>
<form method="post" action="login.php?logint=tak">
<table cellspacing="1" cellpadding="3" style="border: 1px solid green">
<tbody>
<tr>
<td colspan="2" class="dth">
<b>Logowanie do $Plik3Man</b>
</td>
</tr>
<tr>
<td class="dt1">
<b>Login:</b>
</td>
<td class="dt2" width="200">
<input type="text" name="login" />
</td>
</tr>
<tr>
<td width="400" class="dt1">
<b>Hasło:</b>
</td>
<td class="dt2" width="200">
<input type="password" name="pass" />
</td>
</tr>
<tr>
<td colspan="2" class="dth">
<input type="submit" value="Dalej >>>" /></div>
</td>
</tr>
</tbody>
</table>
</form>
'); }
else {
echo('<span style="color: red">Policja? Tak. Mamy tu hackera, który próbuje się włamać na nasz serwer! (...)
<br /></span>PRÓBA WŁAMANIA!!!');
}
?>[/php:1:08f9e69b33]

Co jest źle, że tak się dzieje?
Go to the top of the page
+Quote Post
Liko
post
Post #2





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


Zrób ten kod bardziej czytelny, bo teraz trudno się tam czegokolwiek dopatrzeć. !!
Go to the top of the page
+Quote Post
MP1
post
Post #3





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


poprawiłem
O co tu chodzi? Wiecie? Jaki jest błąd?
Go to the top of the page
+Quote Post
matys
post
Post #4





Grupa: Zarejestrowani
Postów: 109
Pomógł: 0
Dołączył: 7.03.2004
Skąd: Szczecin|Bukowe

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


Jak dla mnie nie jest to jeszce najlepiej poprawione, bo nadal trudno sie rozczytac:/
Go to the top of the page
+Quote Post
MP1
post
Post #5





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


OK - już lepiej się nie da... Więc piszcie szybciej... co mam zrobić, żeby w INDEX.php cookie było odczytywane?
Go to the top of the page
+Quote Post
Liko
post
Post #6





Grupa: Zarejestrowani
Postów: 436
Pomógł: 6
Dołączył: 8.11.2003
Skąd: Szczecin

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


eeee :/ Zacząłem czytać ten kod i wogóle go nie skapowałem pojawiają się tam zmienne, które nigdzie nie są zdeklarowane i nie mają wartości. Np. zmienne: $security, $log, $Plik3Man Może nas oświecisz co chciałeś uzyskać bo z kodu tego nie wyczytam. Pewnie przyczyną jest register globals i tablice SuperGlobalne. Do odczytywania ciastek używaj: $_COOKIE, do odczytywania pól formularza wysłanych metodą "POST" używaj tablic: $_POST. Do odczytywania zmiennych w linkach to przez: $_GET.
Go to the top of the page
+Quote Post
MP1
post
Post #7





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


Zmienne typu $security, $log są w specjalnym pliku - sets.db.
Czy da coś, jak ustawię adres "0", a domenę, jaka istnieje?
Go to the top of the page
+Quote Post
MP1
post
Post #8





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


OK, nie wiem, co było źle, ale jest OK.
Ale jest problem. Tak jak pisało w manualu, jest niespodzianka - cookie dopiero widać jako skasowane lub dodane po odświeżeniu strony.
Jak to ominąć?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
netzah
post
Post #9





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

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


np. poprzez wymuszenie odswierzenia strony przez header() albo "recznie" wpiszanie wartosci do $_COOKIE :-)
Go to the top of the page
+Quote Post
MP1
post
Post #10





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


BŁĘDY 1:

Warning: fopen(cfg/sets.db): failed to open stream: Permission denied in /home/piwko/users/humor.pl/m/mp1/data/pliki/konfigurator.php on line 42

Warning: flock(): supplied argument is not a valid stream resource in /home/piwko/users/humor.pl/m/mp1/data/pliki/konfigurator.php on line 42

Warning: fwrite(): supplied argument is not a valid stream resource in /home/piwko/users/humor.pl/m/mp1/data/pliki/konfigurator.php on line 42

Warning: flock(): supplied argument is not a valid stream resource in /home/piwko/users/humor.pl/m/mp1/data/pliki/konfigurator.php on line 42

Warning: fclose(): supplied argument is not a valid stream resource in /home/piwko/users/humor.pl/m/mp1/data/pliki/konfigurator.php on line 42
Wystąpił błąd. Konfiguracja nie została zapisana. Spróbuj powtórzyć poprzedni poziom. Sprawdź, czy atrybuty katalogów i plików są poprawne.

KATALOG CFG MA CHMOD 766. DLACZEGO TAKIE SĄ BŁĘDY?


BŁĘDY 2...
Występowały błedy, że operation not permitted.


DLACZEGO tak się dzieje?
Go to the top of the page
+Quote Post
netzah
post
Post #11





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

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


Chodzi o prawa do pliku sets.db a nie katalogu.
Go to the top of the page
+Quote Post
MP1
post
Post #12





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


Sets.db jest wtedy właśnie tworzony. Powinienem użyć narzędzia TOUCH?
Może to są po prostu widzimisie serwera Piwko.pl? I tak nie może być konfliktów z serwerami.
Jak ten problem zostanie rozwiązany, będzie następny - błąd w Konfigurator.php na serwerze Lycos. Nie widzę tam żadnego błędu, ale może...
Go to the top of the page
+Quote Post
netzah
post
Post #13





Grupa: Zarejestrowani
Postów: 109
Pomógł: 1
Dołączył: 19.03.2004

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


a tworzysz plik poprzez fopen('sets.db', 'w+') ?
Go to the top of the page
+Quote Post
MP1
post
Post #14





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


[php:1:ab9fdfa03b]<?php
$plik=fopen("cfg/sets.db","w"); flock($plik,2); fwrite($plik,$vCfg); flock($plik,3); fclose($plik);
if(file_exists("cfg/sets.db")) { chmod("cfg/sets.db", 0666);
?>[/php:1:ab9fdfa03b]
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 12:49