skowron-line
5.12.2008, 15:46:53
Cytat(kayy @ 5.12.2008, 12:44:21 )

Pytanie;
jeżeli użyje takiego czegoś, to wszystkie zmienne z $_GET i $_POST będą zabezpieczone?
<?php
function safe() {
foreach($_POST as $key => $item) $_POST[$key] = addslashes($item);
foreach($_POST as $key => $item) $_POST[$key] = htmlspecialchars($item, ENT_QUOTES
);
foreach($_POST as $key => $item) $_POST[$key] = strip_tags($item);
foreach($_GET as $key => $item) $_GET[$key] = addslashes($item);
foreach($_GET as $key => $item) $_GET[$key] = htmlspecialchars($item, ENT_QUOTES
);
foreach($_GET as $key => $item) $_GET[$key] = strip_tags($item); }
?>
zastosuj
http://pl2.php.net/manual/pl/function.array-walk.phpi napisz sobie funckcje escapujaca zmienne
mlattari
29.12.2008, 14:34:28
hmmm po co to wszystko? Dlaczego nie wystarczy zabawa z refererami...?
if (!$_SERVER['HTTP_REFERER']) die(''); // Nie wpisujemy niczego do paska adresów... :-))
No i oczywiście dodając funkcję sprawdzającą wszystkie dozwolone referery ..... no i ewentualnie (dla paranoików) żeby nie zawierały niczego poza dozwolonymi zmiennymi.....
To chyba jest pewna metoda? Czy nie?
albo.... he he zainstalować i poprawnie skonfigurować mod security :-)) prościej i pewniej! Bardzo skuteczna ochrona przed SQL Injection !
bełdzio
29.12.2008, 20:01:48
1. niektore firewalle wycinaja refa
2. kryska z gazowni doda na swoim blogu linka do Ciebie, ów link nie bedzie wsrod Twoich dozwolonych referow i ciach wszyscy nowi userzy nie maja dostepu
mlattari
30.12.2008, 01:18:00
Masz racje! ALE JESTEM GŁUPI! Ostatnio piszę same aplikacje gdzie ważny jest dostęp tylko ze specyficznych hostów i wszystko mi się pomieszało bo pracuję po 16 godzin dziennie :-))
Ale z tego wszystkiego chyba najbardziej niebezpieczne są łańcuchy zawierające wyrazy "UNION SELECT"... więc wystarczy odciąć takie wyrazy jak UNION, USER, PASSWORD, dokładnie tak jak to robi mod security 2 dla Apache (można przecież nieco podejrzeć jego reguły w ustawieniach i według nich napisać kod php).... a najlepiej to chyba odciać z referera wszystkie zastrzeżone wyrazy SQL....bo raczej nie bądą tam nam potrzebe :-)
pyro
30.12.2008, 01:35:58
jasne, napiszesz odpowiedz na jakiegos posta (przez post) na jakims forum strzezonym przed wyrazami SQL.
"Oh! you can use UNION statement o merge the result! I'll show ya on my www, but wait... I forgot my PASSWORD to account... fuck"
po usunieciu tych wyrazow wyjdzie burdel w poście
mlattari
30.12.2008, 02:38:12
No już pisałem że jestem GŁUPI :-)
Bierzmy pod lupę cały kontekst np. "You can use UNION SELECT..." to nie to samo co "SELECT price FROM Items UNION SELECT PASSWORD FROM Users" :-) czy username%2b%27%20%27%2bpassword%20from%20users tymbardziej, że wiemy, że Items to nasza tabela i jest częścią zapytania generowanego przez nasz skrypt :-) Może jakoś porównywać zapytania z dopuszczalnymi wzorcami choć może ich czasami być sporo :-) Na pierwszym miejscu za pomocą ereg_replace wywaliłbym wszystkie podejrzane znaki z $_POST i $_GET a potem pozostaje kwestia sprawdzenia czy zapytanie pasuje do dopuszczalnych wzorców.... tak jak to robi mod security 2 ale to już kwestia napisania odpowiedniego algorytmu :-)
bełdzio
30.12.2008, 09:36:28
nawet nie korzystajac z union selecta mozna przeprowadzic skuteczny SQLi :-)
ucho
30.12.2008, 10:00:41
To ja bym prosił o jakiś przykład - bo przy mysql, gdzie nie można np. przepchnąć drugiego polecenia po ";" union to jedyny sposób jaki znam na wyciągnięcie czegoś z bazy - przynajmniej kiedy ktoś dał addslashes() myśląc, że to wystarczy =)
pest
30.12.2008, 10:10:03
Sprawa chociażby z logowaniem, gdzie można zapytanie przedwcześnie zakończyć i to wystarczy.
pyro
30.12.2008, 10:17:33
Cytat(mlattari @ 30.12.2008, 02:38:12 )

No już pisałem że jestem GŁUPI :-)
I zostańmy przy tym

Jak to będzie np. forum o programowaniu będzie mnostwo wymienionych przez Ciebie składni zapytania, a ktoś gdzieś indziej może mieć taką samą nazwę np. tabeli i teraz co? Bedziesz pisał 200 linijek wzorców jakie mogą wystąpić przy wlamaniu i do tego nie będą one zawsze skuteczne? To jest !$sens
mlattari
30.12.2008, 14:14:22
No to jak już pisałem, na pierwszym miejscu należałoby oczyścić łańcuchy z niebezpiecznych znaków, za pomocą np. ereg_replace, get_magic_quotes_gpc, mysql_escape_string. To napewno wyeliminuje mozliwość dodania czegokolwiek do zapytania przez włamywacza... a tak na marginesie to polecam mod_sec2 pod apacha :-)
bełdzio
30.12.2008, 20:29:59
Cytat(ucho @ 30.12.2008, 10:00:41 )

To ja bym prosił o jakiś przykład - bo przy mysql, gdzie nie można np. przepchnąć drugiego polecenia po ";" union to jedyny sposób jaki znam na wyciągnięcie czegoś z bazy - przynajmniej kiedy ktoś dał addslashes() myśląc, że to wystarczy =)
jest duzo roznych sposobow, zaczynajac od komenarzy konczac na 1=1, wsio zalezy od sposoby napisania app btw addslashes nie sluzy do zabezpieczania przed SQLi
erix
30.12.2008, 21:40:33
Cytat
ereg_replace
W PHP6 Twój skrypt nie zadziała.
Cytat
mysql_escape_string
Ta funkcja może Ci rozwalić znaki przy korzystaniu z wielobajtowych kodowań:
Cytat
This function is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.
Cytat
To napewno wyeliminuje mozliwość dodania czegokolwiek do zapytania przez włamywacza...
nigdy, zawsze, na pewno, a potem okazuje się, że ktoś coś przeoczył i akcja "filmu" dzieje się jak na obrazku "windows 98 with firewall".
Ermes
2.01.2009, 21:05:38
hmmm... a słyszeliśta o czymś takim jak procedury składowane ?
podaje sie do nich parametry, ktore potem siedza w zmiennych, a te z kolei nie są analizowane pod kątem wykonania przez serwer sql.
serwer ma w gdzieś co tam siedzi aby sie zgadzało z typem danych i nie ma takiej opcji zeby zmienna sie wykonała chyba ze zrobisz coś w stylu
exec @zmienna
co jest kiepskim pomysłem chyba ze sie robi jeszcze gdzieś w prodecdurze dynamiczny sql i wtedy przy konkatenacji znaków trzeba uwazac ale wystarczy wsadzić zmienna w
quotename(@zmienna)
i gotowe
mozna tez ustawić wartosci domyslne i uzywac tranzakcji itd. a obsługe błędów z sql chyba kazdy potrafi zrobic

problem sql injection znika... prawie ale dalej to trzeba sie nieźle napocić zeby to obejść, ale jak to juz nie wiem

generalnie to nie wiem czy mysql posiada te wszystkie rzeczy, ale raczej tak bo procedury sa, ale w kazdym razie MS SQL 2005 i wyzej to ma
takie rzeczy stosuje się w biznesowych rozwiazaniach produkcyjnych

PS. podałem kod z mssql ale jak mniemam bardzo podobnie jak nie tak samo jest w mysql
$olo
12.02.2009, 11:38:27
Cytat(Ermes @ 2.01.2009, 22:05:38 )

generalnie to nie wiem czy mysql posiada te wszystkie rzeczy, ale raczej tak bo procedury sa, ale w kazdym razie MS SQL 2005 i wyzej to ma
takie rzeczy stosuje się w biznesowych rozwiazaniach produkcyjnych

Owszem - są w MySQL procedury, ale problem można rozwiązać o wiele prościej - przez zmienne związane:
mysqli:
http://pl.php.net/manual/en/mysqli.prepare.phpPDO:
http://pl.php.net/manual/en/pdo.prepare.php
mlattari
22.02.2009, 17:49:53
hmmm.... ten wątek ciągnie się już od bardzo dawna....
zawsze sądziłem że wystarczy zdjąć możliwość wpisywania czegokolwiek do paska url poprzez pracę nad refererem oraz zastosować mysql_real_escape_string na zmiennych przekazywanych przez $_POST oraz $_GET... ewentualnie odciąć nieporządane znaki które mogłyby w jakiś sposób przedostać się...
Czy ktoś kto stwierdzi, że jest to niewystarczające, mógłby podać konkretny przykład MySql Injection w którym moja skromna metoda nie zapewni ochrony? Bardzo proszę o konkretne przykłady bo zaczynam się martwić, że rzeczywiście to nie wystarczy. Proszę nie odsyłajcie mnie to lektury czegokolwiek tylko przytoczcie konkrety....
pyro
22.02.2009, 18:02:14
Cytat(mlattari @ 22.02.2009, 17:49:53 )

hmmm.... ten wątek ciągnie się już od bardzo dawna....
zawsze sądziłem że wystarczy zdjąć możliwość wpisywania czegokolwiek do paska url poprzez pracę nad refererem oraz zastosować mysql_real_escape_string na zmiennych przekazywanych przez $_POST oraz $_GET... ewentualnie odciąć nieporządane znaki które mogłyby w jakiś sposób przedostać się...
Czy ktoś kto stwierdzi, że jest to niewystarczające, mógłby podać konkretny przykład MySql Injection w którym moja skromna metoda nie zapewni ochrony? Bardzo proszę o konkretne przykłady bo zaczynam się martwić, że rzeczywiście to nie wystarczy. Proszę nie odsyłajcie mnie to lektury czegokolwiek tylko przytoczcie konkrety....
mysql_real_escape_string() w zupełności wystarczy, problem SQLi polega na tym, ze niektórzy zapominają go wogóle dać, a niektórzy na przykład zapominają go dać w przykładowej sytuacji: ktoś sobie zbiera statystyki i zapisuje do bazy $_SERVER['HTTP_USER_AGENT']; $_SERVER wyglada inaczej niz $_GET czy $_POST dlatego ktos niedoswiadczony moglby pominac prze przypadek zabezpieczenei go
mlattari
26.02.2009, 20:56:14
hmm...
czy sądzicie że poniższy fragment kodu jest bezpieczny?
<?php
// Wyplata prowizji
if (isset($_GET[wyplataprov
])&&$_GET[wyplataprov
]!='') { mysql_query( "update pozycje set data_wyplaty_prowizji='".date('Y-m-d')."' where id={$wyplataprov} limit 1;") or diee_close
(); } ?>
*diee_close to taka moja funkcja, która niszczy wszelkie dane sesyjne no i zamyka połączenie z MySql wyświetlając ładny komunikat o błędach :-)
bo już sam nie wiem.... ale wydaje mi się, że tutaj raczej żadne UNION select czy nic za znakami ;' nie powinno przedostać się do MySqla.... i nie czuję potrzeby stosowania stripslashes, trim i innych podobnych funkcji.
no ale żeby nikogo nie korciło wpisywanie bzdur do paska url to często stosuję to:
<?php
if (!$_SERVER['HTTP_REFERER']) diee_close();
?>
Przy aplikacjach, które muszą być jeszcze bezpieczniejsze jeszcze bardziej ograniczam referery ale to już inna kwestia... chodzi mi o takie rzeczy, które chodzą tylko na prywatnych LANAch.....
pyro
27.02.2009, 21:45:05
Pierwsze zabezpieczenie dobre, jeśli jednak jest to dana liczbowa to wystarczy stosowac rzutowanie typow, co do tej drugiej metody jest ona bez sensu....
Orkan
27.02.2009, 23:32:12
Cytat(mlattari @ 26.02.2009, 22:56:14 )

<?php
if (!$_SERVER['HTTP_REFERER']) diee_close();
?>
HTTP_REFERER - to "wytwor" przegladarki, gdzie przy pomocy odpowiednich "dodatkow" mozna tam wpisac cokolwiek. czesto w logach mam jako Referrer zwykly spam i reklamy,.. ludzka wyobraznia naprawde nie zna granic
mlattari
28.02.2009, 02:34:55
:-) No to jasne, że można :-) ale chodzi mi o zabezpieczenie przed wpisywaniem przez 'szarego' użytkownika eksperymantalnych wartości w pasku url :-)
np. jeżeli jesteśmy na stronce
https://sklep.jakistamsklep.pl/lista_1.php?...&toitamto=2to już nie będzie można sobie wpisać wartosci wyswietl i toitamto ręcznie po zastosowaniu tego o czym mowa :-)
A czy ktoś się orientuje czy w zapobieganiu MySql Injection ma jakieś znaczenie to, czy treść zapytania MySql jest zakończona w php średnikiem ?
czyli
<?php
?>
zamiast
<?php
?>
?
Orkan
28.02.2009, 10:00:57
a od kiedy zapytanie w mysql_query() konczy sie srednikiem?
mlattari
28.02.2009, 13:38:41
zapytania MySql kończy się średnikiem :-) a w mysql_query teoretycznie też można więc ciekawi mnie czy ten średnik w mysql_query mógłby np. czemuś zapobiec (np. dołączeniu UNION SELECT) czy raczej nie :-) Zwyczjnie nie wiem to pytam :-)
bełdzio
28.02.2009, 19:10:18
";" oznacza ze dane zapytanie zostalo zakonczone, w przypadku "zwyklych" selektow, insertow etc nie ma znaczenia czy dasz ; czy nie
co do uzycia ";" jako obranie przed union select to sprawa jest jasna

wszystko co wstrzykujesz leci przed ; tak wiec nic on nie da
mlattari
1.03.2009, 16:01:03
no racja... ja jakoś lubię te średniki tam wstawiać ale to chyba zboczenie od klienta mysql.... :-|
A czy ktoś może wie czy jest możliwy atak MySql Injection na zmienne przekazywane przez $_POST[] poprzez listy wyboru typu <SELECT>, w których są ustawione sztywne wartości. Czy da się jakoś manewrować tymi zmiennymi, tak żeby udało się tam coś wstrzyknąć? Chodzi mi o to czy też trzeba zabezpieczać się w przypadku zastosowania list wyboru typy <SELECT> ze sztywnymi wartościami.
Np. <option selected>1: Wybór1</option>. W takim przypadku odcinam sobie to co przed znakiem : czyli 1. Czy ktoś byłby w stanie coś tam podpiąć żeby i to trafiło do MySql?
bełdzio
1.03.2009, 16:04:22
trzeba, kod HTML może być dowolnie zmodyfikowany, odpal sobie FireBug`a ( wtyczka do FireFoxa) i popatrz sobie jak latwo mozna zmanipulowac kod HTML
mlattari
1.03.2009, 16:21:54
hmm dzięki! to dobrze wiedzieć!
megawebmaster
14.03.2009, 20:32:01
Te wartości, które masz stałe, np. tak jak w przypadku tej jedynki najłatwiej obsłużyć przez switch'a - nie ma możliwości innych wartości, bo PHP to wybije na default'ową wartość

Oczywiście wada jest taka, że jest to bezpośrednio w kodzie, co zmniejsza elastyczność, ale coś za coś mówią
thomson89
21.03.2009, 19:41:42
Nie wiem jak wam, ale jak przepuściłem przez mój system login wyszło:
Kod
\', haslo=\'nowe_haslo\' id = 1
I myślę że to dobry sposób, jezei doda się wszystkie komendy sql

<?php
$niebezpiecznyciag = "', haslo='nowe_haslo' WHERE id = 1 ALTER DATBASE";
//KROK 1
$trochebezpiecznyciag = addslashes($niebezpiecznyciag); echo $trochebezpiecznyciag.'<br>';
//KROK 2
$zle = array('WHERE', 'LIKE', 'INSERT', 'DELETE', 'FROM', 'ALTER'); $bezpiecznyciag = str_replace($zle, '', $trochebezpiecznyciag); //jezeli wykryta proba wlamania caly ciag jest podejrzany
$bardzobezpiecznyciag = sha1($bezpiecznyciag);
echo $bezpiecznyciag.'<br>'; echo $bardzobezpiecznyciag;
}
?>
Jeżeli zostanie wykryta jakakolwiek proba wlamania sie to konserwujemy caly ciag. Mozna tez uzyc czego innego i potem to odmieszać i sprawdzic co uzyszkodnicy chieli nam zrobic.
I mam pytanie czy przy if, nie można jakos inaczej porownac? if strstr(ciag, tablica)
Mephistofeles
21.03.2009, 19:48:05
A po co tak wydziwiać? Jeśli stringa trzymasz w cudzysłowach/apostrofach to MySQL nawet nie spojrzy na żadne słowo kluczowe.
erix
21.03.2009, 20:13:38
Cytat
I mam pytanie czy przy if, nie można jakos inaczej porownac? if strstr(ciag, tablica)
in_array" title="Zobacz w manualu PHP" target="_manual
thomson89
21.03.2009, 20:21:49
Cytat(Mephistofeles)
A po co tak wydziwiać? Jeśli stringa trzymasz w cudzysłowach/apostrofach to MySQL nawet nie spojrzy na żadne słowo kluczowe.
@Mephistofeles, jak ktos tam kilka stron wcześniej powiedział: Trzeba przygotować się na najgorsze.
z in array nie dziala
<?php
if(in_array($trochebezpiecznyciag, $zlo)) ?>
to nie znajduje ciagu where i warunek nie spełniony...
erix
21.03.2009, 20:27:05
To najlepiej siedzieć przy kompie i każde żądanie użytkownika przeglądać osobiście.
Przeczytaj cały ten wątek, od początku, dopiero potem zadawaj pytania.
bełdzio
21.03.2009, 20:41:56
@thomson89 kiedys na swoim rozowym blogasku pisalem, ze w wiekszosci przypadkow pisanie wlasnego systemu filtracji nie ma sensu, bo zawsze cos sie spieprzy ;-) co prawda nie czytalem dokladnie Twojego kodu, ale smiem twierdzic ze "SELECT * FROM tab;" potraktuje jako probe SQLi, a co z "SELECT * FR/**/OM tab;" ?
przy okazji mozesz rzucic okiem na
http://www.beldzio.com/zabezpieczenie-mlek...-miodem-plynace
escobar1983
22.03.2009, 18:06:44
Jakie sa mozliwości włamania na mojej stronie?
Nie mam zadnego formularza rejestracji, uzytkownik moze jedynie przegladac swoj profil bez edycji danych. Jest to strona z przedmiotu logistyka gdzie umieszczone sa testy sprawdzajaca wiedze z tej problematyki. W polach do logowania uzytkownik moze podawac tylko liczy i litery zadnych kropek itp. Uzywam md5 do hashowania hasel. W kazdej stronie sa wstawione warunki na temat czy osoba ma prawo zagladania do danej strony. Jedyne miejsce gdzie uzytkownik moze cos wspisac to formularz kontaktowy do wysylania maili. Gdy jestemy zalogowani ustawiana jest zmienna $_SESSION['login'] a gdy admin to $_SESSION['admin']
bełdzio
22.03.2009, 21:02:07
nie widzac kodu zbyt wiele nie da sie powiedziec

jesli filtrujesz wszystko co nalezy i jak nalezy powinno byc ok
rzymek01
22.03.2009, 21:25:14
pamietaj, że istnieje zatruwanie sesji, więc nie opieraj się tylko i wyłącznei na istnieniu danej zmiennej sesyjnej, możesz sprawdzić ip itp.
thomson89
14.04.2009, 17:45:02
A czy najlepszym zabezpieczeniem nie byłoby sprawdzenie czy ciąg zawiera znak " ; "
erix
14.04.2009, 18:07:50
Tak? To ja wpiszę login:
Kod
' WHERE 1=1

Przeczytaj, co do tej pory się naprodukowaliśmy, bo zaczyna wątek kołować.
Rutilius
30.05.2009, 11:59:28
Mam pytanie, przepraszam, jeśli w złym wątku, ale wydaje mi się, że na temat.
Ostatnio na moją stronę próbowano dokonać ataku tego typu (sądzę, że się nie powiodło). Nie rozumiem, co ten ktoś/coś próbował zrobić. Gdyby ktoś mógł mi to wytłumaczyć, to może byłoby to z pożytkiem dla innych (ilustracja do tematu)?
Wyglądało to tak (dane mam ze sprytnego skryptu rejestrującego wejścia na stronę - dotyczy więc GET)
Najpierw ktoś w adresie próbował w jedną ze zmiennych wstawić adres (nie będę mu robił reklamy, więc wyiksowałem)
moja_strona.pl?art=newsy&k=http://www.xxxxxxxxx.com/layout/oxiqade/jokihi/
Potem próbował tak
moja_strona.pl?art=newsy&k=3/**/union/**/select/
**/0x6A7573745F615F746573745F315F305F305F736C6173685F315F3C3F706870206563686F286D64
528226A7573745F615F746573742229293B6563686F2840756E6C696E6B28222F6A6174657374362
7068702
Potem jeszcze kilkanaście takich prób, z tym, że przed tym dziwnym ciągiem dodawał coraz więcej null,
**/union/**/select/**/null,
...
/**/union/**/select/**/null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
ull,null,null,null,null,null,null,null,null,null,
Potem zmienił taktykę, i dodawał nawias
?art=newsy&k=3) union select 0x6A7573745F615F746573745F315F305F315F6461736 bleble
potem trochę pochodził po stronie,
spróbował jeszcze z linkiem
?p=http://www.xxxxxxxxxxx.kz/templates_c/omoj/suju/
i sobie poszedł. Całośc trwała 3 minuty.
Czy to było niebezpieczne?
Mam nadzieję, że się zbytnio nie ośmieszam tym pytaniem.
erix
30.05.2009, 13:10:33
Cytat
Czy to było niebezpieczne?
Jeśli nie filtrujesz danych wejściowych, to jest niebezpieczne.
Jeśli filtrujesz, nie przejmuj się; chyba każdą stronę skanują boty poszukujące dziur. ;]
mrSlowFlow
30.05.2009, 17:06:09
Co sądzicie o tym:
http://hacking.pl/5845Czy coś takiego wystarczy?
erix
30.05.2009, 20:46:50
A chociaż przeczytałeś ten wątek od początku...?
Fantome
14.06.2009, 15:08:58
ostatnich kilka dni przesiedziałem na szukaniu dobrego i skutecznego sposobu zabezpieczenia się przed SQL injection, jednak nic na prawdę konkretnego nie znalazłem;/
pewnie ameryki nie odkryłem, do optymalnych sposobów to nie należy, ale po połączeniu pomysłów z kilku stron oraz fragmentów kodów z tego forum powstało coś takiego:
<?php
function filtr_sprawdzenie($text)
{
$filtr_sprawdzenie= filtr($text);
}
function filtr($text)
{
return $ciag_sprawdzenie;
}
function strip_tags_content($text, $tags = '', $invert = FALSE) {
if($invert == FALSE) {
}
else {
}
}
elseif($invert == FALSE) {
}
return $text;
}
function dlugosc_ciagu($text, $max)
{
{
return $text;
}
else
return'error';
}
$text=$_POST['jakis_tekst'];
$user_id=1;
$max=50;
if(dlugosc_ciagu($text, $max)!='error')
{
$ile_podejrzanych_znakow = filtr_sprawdzenie($text);//sprawdza czy nie zostało użyte słowo unique itp. jeśli bedzie 1 albo wiecej to ktos chce sie wlamac, jesli 0 to nie:)
if($ile_podejrzanych_znakow>0)
{
echo 'Próba włamania, Twoje IP zostało zbanowane, a admin poinformowany drogą mailową';//dalej kod wysyłający maila/smsa do admina, banujący dane IP w systemie }
else
{
$zapytanie = "INSERT INTO notatki (`id`, `user_id`, `tresc`) VALUES ('', '$user_id', '$text')";
}
}
else
print 'Wpis jest za długi'; ?>
osobiście widzę w tym jeden plus, bo po pierwszej próbie włamania dany użytkownik/bot jest banowany, komunikat o tym jest wysyłany do mnie, a w razie gdyby zaszła pomyłka mogę zdjąć bana z danego użytkownika. Cała strona którą teraz piszę jest dostępna dopiero po zalogowaniu więc goście nie będą mogli nic nabroić(teoretycznie).
geniuszem nie jestem jeśli chodzi o php, dopiero zaczynam w tym zabawę, ale pytanie:
czy ten kod jest dość bezpieczny? ciężko będzie to obejść?
Pozdrawiam Fantome:)
erix
15.06.2009, 10:02:52
Cytat
ostatnich kilka dni przesiedziałem na szukaniu dobrego i skutecznego sposobu zabezpieczenia się przed SQL injection, jednak nic na prawdę konkretnego nie znalazłem;/
A chociaż przeczytałeś cały ten wątek...?
Fantome
15.06.2009, 11:01:05
żeby tylko ten... ze 2 dni temu to czytałem i postanowiłem szukać dalej... jest sporo pomysłów i rozwiązań w tym temacie, ale nikt nie potwierdził, że któreś z podanych zabezpiecza stronę w 100%...
erix
15.06.2009, 11:11:28
A wiesz o tym, że na nic nie ma 100% zabezpieczenia?
Fantome
15.06.2009, 11:20:18
zdaję sobie z tego sprawę

jednak staram się wyeliminować jak najwięcej dziur w tym co piszę

pozdrawiam Fantome
erix
15.06.2009, 11:28:11
Jeśli wprowadzisz to, o czym mowa w tym wątku, nie powinno być problemu.
Zresztą, od tego są beta-testy, aby wyeliminować błędy. [;
nieraczek
20.06.2009, 09:05:08
Fantome nie banuj po IP - w ten sposób podczas szukania czegoś w google odkryłem już dwa fora internetowe, na których jestem zbanowany po IP a w życiu się tam nie rejestrowałem :/
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.