Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

16 Stron V  « < 12 13 14 15 16 >  
Reply to this topicStart new topic
> Bezpieczeństwo skryptów PHP, Jak zabezpieczyć się przed włamaniem
pyro
post 18.02.2011, 20:57:41
Post #261





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(Chillout @ 25.01.2011, 00:57:39 ) *
A czy nie dałoby radę zabezpieczyć plików przed potencjalnym hax0rem w .htaccess? coś typu Disallow from all i dać sobie dostęp tylko do plików na IP które mogą zaszkodzić stronie tongue.gif w sumie zabezpieczaniu jestem na początkowym stanie, ale ostatnio sprawdzałem u kumpla czy może wbić w dany plik i wyskoczyło mu że nie ma dostępu :]. Fakt że hax0r będzie szukał głębiej, nie mniej jednak i tak to jest jakieś zabezpieczenie już.


A nie lepiej się po prostu normalnie zabezpieczyć sprawdzonymi sposobami? Szczerze nie rozumiem po co ludzie tak kombinują.

(A tak nawiasem to o czym Ty piszesz jest zupełnie bez sensu na stronę www)


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
ZuyPan
post 26.07.2011, 11:26:47
Post #262





Grupa: Zarejestrowani
Postów: 116
Pomógł: 4
Dołączył: 4.02.2010

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


Tak sobie czytam i czytam ten temat i doszedłem to następujących wniosków:

* Jeśli już robić wczytywanie podstron za pomocą include to owe podstrony muszą być w osobnym katalogu:
  1. if(is_file('/katalog/'.$_GET[strona].'.php')){
  2. include ('/katalog/'.$_GET[strona].'.php');
  3. }


* Zawsze filtruje się wszystkie tablice $_GET, $_POST, $_SESSION, $_COOKIE

* Jeśli coś ma być int to dajemy
if(is_int($_GET['liczba'])){
$liczba = $_GET['liczba'];
}

* Jeśli coś jest tekstem to robimy:
$tekst = mysql_real_escape_string($_POST['tekst'];

* Sprawdzamy długość wpisanych danych

* jeśli coś ma być emailem to sprawdzamy poprawność tego co zostało wpisane.

Czy tych kilka zabezpieczeń jest skutecznych? Może ja coś źle rozumiem. I takie pytanie: jeśli tekst filtruje mysql_real_escape_string to nie muszę używać addslashes, htmlspecialchars itd? Ta funkcja chyba mnie odpowiednio zabezpiecza?


--------------------
Blog
Go to the top of the page
+Quote Post
erix
post 27.07.2011, 08:39:13
Post #263





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A może by tak przeczytać CAŁY temat i nie siać herezji, zwłaszcza z bezpośrednim wstawianiem wartości z tablicy $_GET?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
ZuyPan
post 27.07.2011, 09:01:32
Post #264





Grupa: Zarejestrowani
Postów: 116
Pomógł: 4
Dołączył: 4.02.2010

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


Przeczytałem cały temat, ale uwierz mi - te wasze małe "sprzeczki" gdzie ktoś mówi, że bredzicie a potem Wy staracie się udowodnić coś manualem... Z tego tematu stał się śmietnik a nie poradnik. Ktoś taki jak ja wchodzi, czyta i ma jeszcze większy mętlik bo ktoś powiedział o czymś tak a jeszcze inny inaczej. Tylko któraś z tych opinii jest słuszna a któraś błędna. To może warto by było zostawić tylko te słuszne? Temat zmniejszył by się o co najmniej kilka stron. Tylko komu by się chciało....

Ten post edytował ZuyPan 27.07.2011, 09:02:47


--------------------
Blog
Go to the top of the page
+Quote Post
pyro
post 8.08.2011, 14:14:49
Post #265





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


Cytat(ZuyPan @ 26.07.2011, 12:26:47 ) *
Tak sobie czytam i czytam ten temat i doszedłem to następujących wniosków:

* Jeśli już robić wczytywanie podstron za pomocą include to owe podstrony muszą być w osobnym katalogu:
  1. if(is_file('/katalog/'.$_GET[strona].'.php')){
  2. include ('/katalog/'.$_GET[strona].'.php');
  3. }


Jeśli chcesz, żeby ktoś włamał Ci się na stronę to tak.

Cytat(ZuyPan @ 26.07.2011, 12:26:47 ) *
* Zawsze filtruje się wszystkie tablice $_GET, $_POST, $_SESSION, $_COOKIE


Nie. Nie zawsze. Według potrzeb.

Cytat(ZuyPan @ 26.07.2011, 12:26:47 ) *
* Jeśli coś ma być int to dajemy
if(is_int($_GET['liczba'])){
$liczba = $_GET['liczba'];
}


Lub po prostu:
  1. $liczba = (int)$_GET['liczba'];


Cytat(ZuyPan @ 26.07.2011, 12:26:47 ) *
* Jeśli coś jest tekstem to robimy:
$tekst = mysql_real_escape_string($_POST['tekst'];


Też w zależności od sytuacji.

Cytat(ZuyPan @ 26.07.2011, 12:26:47 ) *
* Sprawdzamy długość wpisanych danych


To nie jest warunek, ale dobrze to robić.

Cytat(ZuyPan @ 26.07.2011, 12:26:47 ) *
* jeśli coś ma być emailem to sprawdzamy poprawność tego co zostało wpisane.


Jak prawie wszędzie...

Cytat(ZuyPan @ 26.07.2011, 12:26:47 ) *
I takie pytanie: jeśli tekst filtruje mysql_real_escape_string to nie muszę używać addslashes, htmlspecialchars itd?


A może przeczytaj co robi ta i pozostałe wymienione funkcje...

Ten post edytował pyro 8.08.2011, 14:17:02


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
evilpr0
post 9.10.2011, 23:26:41
Post #266





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 10.03.2011
Skąd: Glasgow

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


A ja mam takie pytanko, co z takim kodem?

  1. if($_GET['akcja'] == "uzytkownicy") {
  2. include('uzytkownicy.php');
  3. }


Czy taki kod również jest niebezpieczny?
Go to the top of the page
+Quote Post
foxmark
post 10.10.2011, 10:43:01
Post #267





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 20.03.2004
Skąd: Londyn

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


Cytat(Speedy @ 5.05.2005, 17:06:27 ) *
To ja dodam od siebie jeszcze, że niektóre osoby pisząc aplikacje internetowe, stosują coś takiego jak przechowywanie poufnych danych o userze (po zalogowaniu) w pliku cookie. Taki potencjalny H4X0R może sobie potem swobodnie przeglądać zawartość tych plików i dowolnie je modyfikować. Najgorzej jest wtedy, gdy w takim pliku przechowywana jest wartość zmiennej odpowiedzialna np. za uprawnienia administratora... Wtedy wystarczy ją odpowiednio podmienić i śmiga wink.gif .
Rozwiązaniem są sesje, które przechowują dane na serwerze.

Pozdrawiam.



Witam,

Dwa pytania.

Pyt. 1: Jestem w poczatkowej fazie projektu i zastanawiam sie nad mozliwymi rozwiazaniami kontroli praw uzytkownikow.
To moj pierwszy projekt w ktorym musze identyfikowac uzytkownika i dodatkowo nadac mu prawa do robienia tego czy tamtego.
Po autoryzacji uzytkownika sprawdzam w DB czy i do jakiej grupy nalezy dany uzytkownik (uzywam LDAP do autentyfikacji uzytkowniak wiec ten problem mi odpada bo ta czesc jest wymuszana zasadami bezpieczenstwa w sieci lokalnej i musze wspolpracowac z administratorem sieci odnosnie autentyfikacji). Moje pytanie jest nastepujace:
Czy ktos moze podac mi przyklady tego jak nalezy konstruowac logike takiej strony. jak sprawdzac czy dana grupa moze uzywac danej finkcji
lub miec dostep do danego linku itp? Jakie rozwiazanie jest najbardziej dynamiczne i efektywne.
Moze ktos zna inne rozwiazania nie bazujace na grupach (np. przywileje do wykonywania dannych czynnosci)
Mysle np. o tym jak w jednym pliku (np. menu.php) zawierac informacje dla wszystkich grup ale podaczas includowania pliku wyswietlcic tylko
linki dla danej grupy uzytkownikow (i/lub linki dla grup ponizej danego lewelu) tzn. ze adminstrator zobaczy wszystkie linki trenerow, userow itp
a trener zobaczy link trenerow i usera ale nie administratorow.

Pyt. 2: Chcialbym w sesji zapisac informacje o nazwie uzytkownika i jego grupie (Admin, user itp) czy istnieje mozliwosc ze znajac
nazwe zmiennej mozna zewnatrznie podmieniac jej wartosc - czyli np.
  1.  
  2. $_SESSION['user'] = costam;
  3. $_SESSION['ugroupID'] = costam;


i przypisac im inne wartosci jesli tak jak moge sie przed tym zabezpieczyc?
Nie obawiam sie problemow z loginem bo pracuje w sieci lokalnej dostepnej tylko w jednym budynku
Uzywam LDAP do autoryzacji uzytkownika ale boje sie ze zwyczjany uzytkownik moze chciac podmienic swoje prawa i dac sobie
uprawnienia administratora po tym jak przypisze sesji jego uprawniania

Pozdrawiam!

Ten post edytował foxmark 10.10.2011, 10:58:23
Go to the top of the page
+Quote Post
adam882
post 31.10.2011, 22:56:58
Post #268





Grupa: Zarejestrowani
Postów: 289
Pomógł: 1
Dołączył: 2.11.2007

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


@evilpr0
Twój kod jest OK
Go to the top of the page
+Quote Post
Orzeszekk
post 31.10.2011, 23:50:41
Post #269





Grupa: Zarejestrowani
Postów: 260
Pomógł: 14
Dołączył: 8.09.2011

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


A co jezeli includujemy pliki bezposrednio uzywajac wartosci get, i pliki includowane znajduja sie w oddzielnym katalogu, ale ktos bedzie sprytny i poda nam w GET sciezke /../../costamcostam.php? /.. - powinno nas przeniesc do katalogu niżej.

Jesli juz ktos koniecznie chce brac bezposrednio z GET to musi regexpem wykasowac te znaki z parametru.

Ja tam jestem zwolennikiem białej listy: kazda klasa ktora includuje pliki / uruchamia metody w php funkcją call() biorąc jako parametr parametr z $_GET, korzysta z białej listy (listy dozwolonych wartosci parametru). Taką listę mozna sobie bardzo szybko utworzyc za pomocą array('parametr_1','parametr_2')... a sprawdzic poprawnosc za pomocą

$naszParametr = htmlspecialchars($_GET['param']);
if (!(in_array($naszParametr, $tablicaDozwolonychWartosci))
{
/* Parametr nieprawidlowy, nie znaleziono na liscie, ustawiamy mu tutaj wartosc domyslna lub zatrzymujemy program */
}
/* od tego momentu mozemy uwazac wartosc w $naszParametr za poprawną */
include($naszParametr) / call($naszParametr);


itd itp tongue.gif
biała lista jest znacznie bezpieczniejsza od czarnej listy czy w ogole niesprawdzania poprawnosci bo chroni cie tez przed tym czego nie możesz przewidzieć smile.gif


--------------------
"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs
Go to the top of the page
+Quote Post
by_ikar
post 1.11.2011, 00:13:03
Post #270





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


Cytat
Jesli juz ktos koniecznie chce brac bezposrednio z GET to musi regexpem wykasowac te znaki z parametru.


Nie musi, do tego celu wystarczy jedna funkcja, basename i powyżej danego katalogu już niestety poruszać się nie będzie mógł wink.gif
Go to the top of the page
+Quote Post
rumpelek
post 9.01.2012, 15:26:39
Post #271





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 27.02.2009
Skąd: Bydgoszcz

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


uFF... minęło 30 minut od kiedy zacząłem czytać temat... i w zasadzie się zgubiłem... Więc może ja zapytam, czy mój kod jest poprawny i ewentualnie jak go "zabezpieczyć"

  1. if(isset($_GET['zmienna'])){
  2. $przed = array("\"", "\'", "\\", ">", "<", " ", "%", "_", "&", "#", "0", "9", "2", ";", ":", "/", "$", "GET", "_", "[", "]");
  3. $po = array("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
  4. $zmienna = str_replace($przed, $po, $_GET['zmienna']);
  5. }else{
  6. $zmienna='pusta';
  7. }


Bardzo proszę o konkretne wskazówki...
Go to the top of the page
+Quote Post
wookieb
post 9.01.2012, 15:28:47
Post #272





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Przed tym to ma zabezpieczać? Tutaj jedynie ucinasz sobie szereg funkcjonalności z GET-a zamiast rozważnie pisać kod (a to nie jest takie trudne)
Powód edycji: [wookieb]:


--------------------
Go to the top of the page
+Quote Post
rumpelek
post 9.01.2012, 17:02:58
Post #273





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 27.02.2009
Skąd: Bydgoszcz

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


no ma zabezpieczać przed atakiem... szeroko rozumianym... gdybym był pewnie na Twoim poziomie wiedzy, to bym tak banalnych pytań nie zadawał... Jeśli mam jakoś bardziej doprecyzować to powiedz jak, a na pewno udzielę odpowiedzi bo jestem żywnie zainteresowany tym, aby moja aplikacja była bezpieczna...

zmienne są różne niektóre numeryczne inne tekstowe...

na podstawie tej zmiennej ładuję np. pliki konfiguracyjne dla danej strony... np.

http://www.adres.pl/index.php?zmienna=nazwafirmy

na podstawie tego ładuję pliki

  1. include("$nazwafirmy/config.php");


dlaczego tak? ano dlatego, że obsługuję programem kilka firm i jak wprowadzam zmiany to w plikach skryptu ogólnego... i nie muszę tego robić oddzielnie w każdym katalogu...

  1. echo "\n<link rel=\"stylesheet\" type=\"text/css\" href=\"$nazwafirmy/style.css\" />";


np. dzięki temu rozwiązaniu ładuję plik css... i każda strona może wyglądać inaczej ale pracować na tym samym "silniku" smile.gif

Go to the top of the page
+Quote Post
vee
post 13.01.2012, 09:57:56
Post #274





Grupa: Zarejestrowani
Postów: 64
Pomógł: 5
Dołączył: 16.08.2011

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


swoją drogą zamiast pisać tak:
  1. $po = array("", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
  2. $zmienna = str_replace($przed, $po, $_GET['zmienna']);

możesz zrobić
  1. $zmienna = str_replace($przed, null, $_GET['zmienna']);


to taki mały OT. CO do zabezpieczenia... tak jak mówił kolega powyżej - zdecydowanie łatwiej i skuteczniej jest pisać rozważnie kod, zamiast stosować takie "myki".
Inna sprawa, powinieneś określić jaki zestaw znaków dopuszczasz dla tej zmiennej i odfiltrować to wyrażeniami regularnymi moim zdaniem, tzn np dopuszczać same litery, cyfry i myślnik.

EDIT: Gwoli ścisłości, podane wskazówki raczej nie mają wpływu na bezpieczeństwo, ale na wygodę obsługi.

Pozdrawiam i powodzenia

Ten post edytował vee 13.01.2012, 09:59:13
Go to the top of the page
+Quote Post
marcio
post 13.01.2012, 11:48:02
Post #275





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Elo co stosujecie przed csrf i full path disclosure?

Co do pierwszego zastanawiam sie nad tokenami w url lub przez post (pole typu hidden).

Co do tego drugiego co stosujecie?error_reporting(0) to racej obejcie problemu niz jego likwidacja.
Stosujecie wlasne klasy obslugi bledow?


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
erix
post 13.01.2012, 22:51:38
Post #276





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Elo co stosujecie przed csrf

Bez tokenów raczej nie przejdzie, aby było uniwersalne.

Cytat
Co do tego drugiego co stosujecie?error_reporting(0) to racej obejcie problemu niz jego likwidacja.

Niczego nie stosuję. Proces interpretera odpalam z chrootem.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
marcio
post 14.01.2012, 13:47:40
Post #277





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


Cytat
Niczego nie stosuję. Proces interpretera odpalam z chrootem

Dla mniej wtajemniczonych?


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
erix
post 14.01.2012, 13:51:23
Post #278





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Dla mniej wtajemniczonych jest Google i Wikipedia, której wystarczy użyć: http://pl.wikipedia.org/wiki/Chroot


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
marcinek37
post 24.10.2012, 21:16:46
Post #279





Grupa: Zarejestrowani
Postów: 239
Pomógł: 0
Dołączył: 2.06.2011

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


Kilka ostatnich dni spędziłem na analizie tego, co wcześniej pisano na forum i tego, co pisano w artykułach na innych stronach.
Było kilka niejasnych pomysłów na zabezpieczenie strony stąd kilka moich pytań.

1. wielokrotnie mówiono, że dobrym zabezpieczeniem przed CSRF jest dodawanie do ważnych linków tokena - mam jednak pytanie, czy optymalnym rozwiązaniem jest, aby taki token był nadawany przy logowaniu i był on aktywny aż do czasu trwania sesji, czy za każdym razem koniecznie musi być nadawany nowy token? pytam, bo w przypadku drugiego rozwiązania będę mieć o wiele więcej pracy

2. czy koniecznie muszę filtrować nawet dane z tablicy SERVER?
przykład zapytania:
mysql_query("INSERT INTO tabela (`id`, `ip`) VALUES(NULL, '$_SERVER[REMOTE_ADDR]')");

3. znalazłem taki kod, który zabezpiecza system przed Session Fixation i Session Hijacking, jednak po jego użyciu mój system logowania nie działa poprawnie
wg mnie to największy problem, bo jeśli ktoś przejmie moją sesję, przejmę całkowitą kontrolę nad systemem i będzie mógł zrobić niemal wszystko
  1. <?
  2. if (!isset($_SESSION['inicjuj']))
  3. {
  4. $_SESSION['inicjuj'] = true;
  5. $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
  6. }
  7.  
  8.  
  9. if($_SESSION['ip'] !== $_SERVER['REMOTE_ADDR'])
  10. {
  11. die('Proba przejecia sesji udaremniona!');
  12. }
  13. ?>


4. aby zabezpieczyć się przed dodawaniem identyfikatora sesji do adresu www, należy dodać kod:
session.use_only_cookies = 1

tyle że do którego pliku i w jaki sposób?

5. to samo tyczy się poniższego kodu, który należy dodać do .htacces:
php_value session.use_only_cookies 1
php_value session.use_trans_sid 0

ale gdy go dodaje, pojawia się błąd

6. znalazłem też informację, że warto regenerować identyfikator sesji przy każdym odświeżeniu (session_regenerate_id( )wink.gif, ale rodzi to problem - co, jeśli użytkownik otworzy stronę w dwóch oknach? wtedy w jednym zostanie wylogowany

7. czy dodatkowym zabezpieczeniem może być nadanie chmodu 600 na plik config?

8. aby hasło użytkowników było bezpieczne, przy rejestracji postanowiłem skorzystać ze schematu:
HASH = md5( sól systemowa [16 znaków] + md5(hasło użytkownika) + idywidualna sól nadana dla użytkownika zapisana w bazie [16 znaków] )

czy myślę dobrze, że jest to bezpieczne, bo, nawet jeśli ktoś ukradnie nam dane, nie zna soli systemowej (zapisanej w config), a jeśli wejdzie w posiadanie systemu, nie będzie znać soli przypisanej do użytkownika
polecano mi PHPass, ale wolę to zrobić tym sposobem, jeśli uznacie to za bezpieczne

9. czy naprawdę do sesji warto dodać identyfikator użytkownika (czyli ID, np. 123), jego IP oraz przeglądarkę? kod:
  1. <?
  2. if(isset($_SESSION['user_id']) && $_SESSION['user_agent'] == $_SERVER['HTTP_USER_AGENT'] && $_SESSION['user_ip'] == $_SERVER['REMOTE_ADDR']){
  3. echo'zalogowany';
  4. }
  5. else{
  6. echo'niezalogowany';
  7. }
  8. ?>


10. czy przy autologowaniu do ciastka powinienem dodać ID użytkownika oraz HASH, o którym mowa w punkcie 8? czy to aby na pewno bezpieczne?
Go to the top of the page
+Quote Post
hind
post 25.10.2012, 09:23:34
Post #280





Grupa: Zarejestrowani
Postów: 142
Pomógł: 24
Dołączył: 30.03.2009
Skąd: Rokitno Szlacheckie

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


1. powinno być za każdym razem generowane z osobna
2. $_SERVER['HTTP_USER_AGENT'] zawiera dane potencjalnie niebezpieczne.
4. php.ini lub ini_set()
6. ni zostanie, chyba że otwarcie obu stron nastąpi w tym samym momencie.
7. i tak i nie, bo to proces httpd/cgi ma odczytać ten plik i uprawnienia muszą być dostosowane do uprawnień procesu wykonującego (choć zwykle jest to root/httpd)
9. sesja powinna być unikalna, więc ID jest nie potrzebne
10. jak przy 9.
Go to the top of the page
+Quote Post

16 Stron V  « < 12 13 14 15 16 >
Reply to this topicStart new topic
4 Użytkowników czyta ten temat (4 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 19:26