![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Witam, w swoim skrypcie posiadam linki typu:
pokaz.php?gracz=lethys Po wejściu w taki link będzie pokazywać dane o graczu Lethys. Chciałbym zabezpieczyć jakoś te linki żeby nie dało się hackować przez wpisywanie czego się chce zamiast nicku gracza. Kod wyglada mniej więcej tak:
Dobrze jest zrobione to moje zabezpieczenie? Chciałbym zrobić warunek że nick gracza może się składać tylko z liter, bez znaków specjalnych ale nie wiem jak to zrobić. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Po pierwse, to nie powinno sie przekazywać do strlen tablicy, a po wtóre skrypt nie jest zabezpieczony przed sql injection.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
W tym przypadku zabezpieczenie przed sql injection: Wyrażenia regularne lub mysql_real_escape_string ale 100% nie daje.
Możesz też skorzystać z hashowania. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Zrobię tak żeby nie można było używać niedozwolonych znaków w linkach + rewrite i przyjazne linki.
Problem mam z niedozwolonymi znakami
Chcę zrobić aby w linku można było używać tylko alfabetu i cyfr. Jak to przerobić żeby działało ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ja jakbym chciał mieć 100% pewności zrobiłbym:
Podłączę się tu trochę do tematu i zapytam innych o zdanie dot. tego sposobu obrony przed SQL injection. Edit: Troche od d... strony to robisz (IMG:style_emoticons/default/winksmiley.jpg) Najpierw robisz zapytanie sql a dopiero potem jakieś instrukcje warunkowe. Jeśli ktoś Ci pohakierzy poprzez wpisanie czegoś niedobrego do linka to to coś namiesza w tabeli najpierw, a później w zależności czy $pokaz spełnia zadane kryteria bedziesz miał print "Użyto niedozwolonych znaków w linku!"; lub <h2>$pokaz[user] (ID $pokaz[id])</h2> ...... Ten post edytował gargamel 27.11.2010, 18:00:37 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Jak zrobię :
co wyskakuje: Cytat bool(false) Nie wiem co to ma udowodnic.Ja chce zrobic tylko tak jak pisalem
Link wyglada mniej wiecej tak: pokaz.php?pokaz=lethys chce zeby mi odrzucalo pokaz.php?pokaz=&%^&%.- tego typu linki. Moze ktos mi pomoc z moim kodem ? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Nie wiem co to ma udowodnic. Cytat Return Values Returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows. The type of returned array depends on how result_type is defined. By using MYSQL_BOTH (default), you'll get an array with both associative and number indices. Using MYSQL_ASSOC, you only get associative indices (as mysql_fetch_assoc() works), using MYSQL_NUM, you only get number indices (as mysql_fetch_row() works). http://pl2.php.net/mysql_fetch_array |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Nic mi to nie mówi, nie mam aż takiej wiedzy o php.
Proszę aby jedynie mi ktoś pomógł z tym małym kodem:
Link wyglada mniej wiecej tak: pokaz.php?pokaz=lethys chce zeby mi odrzucalo pokaz.php?pokaz=&%^&%.- tego typu linki. Dawanie mi linków do wyjaśnień czy też przykładów które nie wiele mają wspólnego z moim problem nic mi nie da bo nie jestem dobry w php. Zależy mi żeby działał tylko ten prosty kod. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
Tu nie trzeba mieć dużej wiedzy o php tylko trzeba logicznie myśleć.
Filtracja nicku -> zapytanie do baszy -> odpowiedni komunikat |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
No tyle to ja wiem ;D
tylko nie wiem jak przefiltrować ten nick Rozumiem ze tak jest zle :
Jak bede wiedzial jak przefiltrowac ten nick to reszta jak z platka (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 278 Pomógł: 35 Dołączył: 25.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Prosz..
zamiast ereg stosuj preg_match, czyli: Ale skryptu który przedstawiłeś w żaden sposób to nie zabezpieczy, ogólnie powiedziawszy nie jest on dobry. Ten post edytował gargamel 27.11.2010, 20:04:12 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
No niby to jest dobra komenda na sprawdzanie niedozwolonych znakow ale nie działa z moim $pokaz, jak mogę sprawdzić czy to co użytkownik sobie wpisze w linku będzie posiadało niedozwolone znaki czy nie?
Jak robie w ten sposób: to preg match nie działa z moim $pokaz, a chce zeby uzytkownik nie mogl wpisac pokaz.php?pokaz=^%$.=_ takiego czegos w linku. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
PDO i prepared statements, nic nie trzeba filtrować.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
|
|
|
![]() ![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 4 Dołączył: 22.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ja bym zrobił to w taki sposób
Nie testowane, ale powinno śmigać (IMG:style_emoticons/default/wstydnis.gif) Ten post edytował fr33d0m 28.11.2010, 18:40:58 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 69 Dołączył: 23.10.2004 Skąd: Oświęcim Ostrzeżenie: (0%) ![]() ![]() |
A po co tu dwa zapytania do bazy?
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 132 Pomógł: 4 Dołączył: 22.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cóż, pisałem kod z głowy i dla pewności działania napisałem dwa zapytania.
Zresztą mój poziom wiedzy jest ograniczony, ponieważ dopiero poznaje PHP więc wybacz... Ten post edytował fr33d0m 28.11.2010, 18:57:44 |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 1 575 Pomógł: 299 Dołączył: 26.03.2009 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 642 Pomógł: 2 Dołączył: 9.03.2006 Ostrzeżenie: (30%) ![]() ![]() |
Rozumiem że taki kod :
Jest właściwy i będzie w jakiś tam sposób chronił przed sql injection? Jeżeli chodzi o praktyke to działa. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:01 |