![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 21.04.2014 Ostrzeżenie: (0%) ![]() ![]() |
Napisaem taki kod. Nie mam jak go sprawdzić ponieważ działam na localhost. $_GET["ref"] to tylko cyfry Moje pytania: Czy kod jest bezpieczny? Czy ip zosatnie zapisane w bazie danych? Ip zapisywać varchar'em czy int'em, a może czymś innym? Czy kod jest poprawnie napisany? W kodzie chodzi mi o to by inkrementować pole zdolność, kiedy wszystkie warunki zostaną spełnione, czyli ludzie o 3 innych adresach ip wejdą w podany link. Domyślna wartość pól ip1, ip2, ip3 w bazie wynosi 0. Z góry dzięki (IMG:style_emoticons/default/wink.gif) Ten post edytował jahonen 14.05.2014, 12:44:06 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 79 Dołączył: 25.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
To, że działasz na lokalnym komputerze nie wyklucza możliwości przetestowania. Zamiast $_SERVER['REMOTE_ADDR'] możesz ręcznie wpisać w kodzie adres IP uruchomić skrypt, później zmienić i znów uruchomić, albo podawać IP jako parametr w URL i później używać np. $_GET['ref'].
Wartości porównuje się przez ==, = to przypisane. Sprawdź co się stanie jeśli poda się nieistniejący kod i zapytanie: nie zwróci żadnych wierszy. Skoro $_GET['ref'] jest liczbą a nie ciągiem znaków, to nie ujmuje się jej w apostrofy lub cudzysłów. jest niepoprawne. Sprawdź składnię polecenia INSERT. Wyrzuć INSERT i zapisywanie IP wrzuć do UPDATE. Skoro IP jest liczbą to lepiej ją przechowywać jako liczbę - ip2long() - nie jako ciąg znaków. Ewentualne wyszukiwanie w bazie po liczbie jest szybsze niż po ciągu znaków. Jeśli koniecznie ma być jako ciąg znaków to użyj pola CHAR a nie VARCHAR. Ten post edytował kartin 14.05.2014, 13:30:32 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
IP w bazie danych: klik
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 05:21 |