Adres IP - skrypt, Jak wykonać skrypt? |
Adres IP - skrypt, Jak wykonać skrypt? |
11.05.2008, 19:53:49
Post
#1
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) |
Chciałbym się zapytać o jedną rzecz. Mianowicie chodzi mi o adres IP.
Napisałem skrypt, który wykonuje pewną czynność, gdy początek adresu IP użytkownika jest równy temu w zmiennej. Dokładnie chodzi o pogrubiony kawałek: xxx.xxx.xxx.xxx
Ten skrypt działa bo sprawdzałem. Gdy w zmiennej wpisałem początek IP równe mojemu działał, natomiast gdy w zmiennej wpisałem początek IP inny niż mój nie działał. Jednak każdy kraj ma więcej niż jeden początkowy numer IP, a do jednej zmiennej chyba nie da się przypisać kilku liczb. Pomyślałem więc o tablicy. Chodzi o skrypt, który odczytyłałby IP użytkownika, następnie przeszukiwałby tablicę i jeżeli początek adresu IP użytkownika jest równy liczbie znajdującej się w tablicy wykonywałby pewną czynność, gdy taki numer nie znajduje się w tablicy nic by nie robił albo zwracał false.
Ten skrypt już nie działa. Nie wiem czy dobrze się za to wziołem i gdzie są błędy. Interesuje mnie również rozwiązanie z kilkoma tablicami (kilka krajów). Prosiłbym o pomoc w tej sprawie. Dopiero początkuje w PHP (z forum włącznie), więc proszę o wyrozumiałość. Ten post edytował Szunaj85 11.05.2008, 21:21:56
Powód edycji: Poprawiłem tą choinkę. /webdicepl
-------------------- Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
|
|
|
11.05.2008, 19:57:23
Post
#2
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) |
Powinno działać :]
@edit Przed chwilą sprawdzałem, działa. Dziękuję, Babcia@Stefa Ten post edytował Babcia@Stefa 11.05.2008, 19:58:53 -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian |
|
|
11.05.2008, 20:44:28
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Zrob to na bazie albo na plikach a nie dajesz do zmiennej w skrypcie nie bedzie tak lepiej?
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
11.05.2008, 21:17:48
Post
#4
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) |
Babcia@Stefa dziękuję za ekspresową odpowiedź. Masz u mnie plus.
Faktycznie twój przykład działa i może warto przy tym zostać. Chciałbym zapytać jak w tym przykładzie umieścić kilka tablic tak aby każda z nich wyświetlała swój własny komunikat. Postaram się jaśniej: Chodzi o skrypt, który odczytyłałby IP użytkownika, następnie przeszukiwałby tablicę i jak w pierwszej tablicy nie znalazłby liczby równej początku IP użytkownika przechodziłby do następnej tablicy, i takby szukał. I jeżeli w którejś z kolei tablicy znalazłby liczbę równą początku adresu IP wykonywałby pewną czynność, przypisaną dokładnie tej tablicy. Gdy taki numer nie znajduje się w żadnej tablicy nic by nie robił albo zwracał false. Sam też spróbuje wykonać ten wyżej wymieniony skrypt. Może się uda. Ten post edytował Szunaj85 11.05.2008, 21:24:26 -------------------- Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
|
|
|
11.05.2008, 21:22:08
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Nie rozumiem potrzeby dawac tego do kilku tablic
Najlatwiej to w sumie bedzie tak:
EDIT: chcesz aby kazda tablica miala swoj komunikat wiec dawaj if na kazda tablice napewno mozna to lepiej napisac ale tak bedzie chyba najlatwiej Ten post edytował marcio 11.05.2008, 21:25:53 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
11.05.2008, 21:31:49
Post
#6
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) |
Tak jak wyżej napisałem. Chodzi o to żeby każdy zbiór początkowych numerów adresów IP (każdy kraj) wykonywał inną czynność. Dlatego mówie o kilku tablicach.
Każda tablica to inny kraj. Każda tablica wykonuje inną czynność. (np. każda tablica wyświetla inny komunikat). Jednak mogę się mylić i jest inne zupełnie prostrze rozwiązanie. Oczywiście jestem otwarty na propozycje. Ten post edytował Szunaj85 11.05.2008, 21:41:23 -------------------- Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
|
|
|
11.05.2008, 21:44:27
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
No to napisalem ci jak bedzie najlatwiej zamiast
Daj
Czy jakos tak po angielsku nie wymiatam w nim Ten post edytował marcio 11.05.2008, 21:44:46 -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
11.05.2008, 22:02:10
Post
#8
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) |
O to właśnie chodziło! Kilka linijek kodu, a cieszy.
Dziękuję Ci marcio. Temat uważam za zamknięty. -------------------- Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
|
|
|
12.05.2008, 20:21:52
Post
#9
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) |
Ja mam chyba najlepsze rozwiązanie z opisem:
Dziękuję, Babcia@Stefa -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian |
|
|
15.05.2008, 12:58:56
Post
#10
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) |
Zastanawiałem się czy odpisać bo problem teoretycznie został rozwiązany, ale po dłuższym namyśle postanowiłem to zrobić. Może ktoś ma inne rozwiązanie.
Chce zauważyć, że miło jest gdy ktoś tak dokładnie opisuje kod, który napisał. To bardzo ułatwia zielonym w PHP analizę jego zawartości. Myślę tu o Babcia@Stefa. Jednak wracając do problemu chce zwrócić uwagę na kilka rzeczy. Babcia@Stefa nie jestem pewien czy dokładnie przeczytałeś wszystkie posty. Wyżej dokładnie jest napisane na czym polega problem (starałem się opisać go zrozumiale i ze szczegółami). Sprawdziłem twój skrypt i jak początek IP znajduje się w tablicy to wyświetla np.: IP: xxx.xxx.xxx.xxx Wiadomość: Neostrada A jeżeli nie: Twoje ip nie jest zablokowane Oczywiście skrypt działa i może ktoś z niego skorzysta, jednak moje wymagania są trochę inne. 1. W moim przypadku jest potrzebna więcej niż jedna tablica - (każdej tablicy odpowiada np. inny komunikat) szczegóły są we wcześniejszych postach wyżej. Rozwiązanie mniej więcej coś na wzór marcio. 2. W moim przypadku nie jest potrzebne wyświetlanie adresu IP. 3. Piszecie o zabanowaniu lub zablokowaniu adreu IP. A ja wcale nie chcę nikogo banować ani blokować. Ogólnie rzecz biorąc chodzi o porównanie adresu IP z tablicami i wyświetlenie np. komunikatu w zależności od tego w jakiej tablicy znajduje się początek adresu IP. Ale jeszcze raz! Szczegóły są we wcześniejszych postach wyżej. Mniej więcej coś na wzór marcio. W razie wątpiliwości pisać. Ten post edytował Szunaj85 15.05.2008, 13:23:40 -------------------- Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
|
|
|
16.05.2008, 18:15:30
Post
#11
|
|
Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) |
Może napisz po co Ci te dwie tablice, być może nawet pomożemy Ci zintegrować ten kod (zapewne nie będzie to trudne)...
Rozwiązanie marcio'a nie jest wcale lepsze, a pozatym to są tylko instrukcje warunkowe. Dziękuję, Babcia@Stefa -------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian |
|
|
16.05.2008, 19:55:06
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) |
Cytat Rozwiązanie marcio'a nie jest wcale lepsze, a pozatym to są tylko instrukcje warunkowe A co mo twoje rozwiazanie do tego tematu nastukales troche kodu i co?? Ogolnie @Szunaj85 moje rozwiazanie nie jest ani szybkie ani profesjonalne ale zrob cos na wzor tego co ci napisalem jak nie to pokombinuj bo nie wiem zabardzo jak ci pomoc -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
31.05.2008, 20:26:02
Post
#13
|
|
Grupa: Zarejestrowani Postów: 392 Pomógł: 7 Dołączył: 11.05.2008 Ostrzeżenie: (0%) |
Wcześniej tego nie dostrzegłem, ale chcąc wypełnić tablice numerami zauważyłem, że inne kraje też mają np. 83 na początku. To rujnuje mój plan, ponieważ nie mogę tak wykonać skryptu. Chciałem zapytać jak zlokalizować kraj z którego łączy się użytkownik na podstawie jego adresu ip. Może wystarczy coś takiego: xxx.xxx.xxx.xxx, a nie jak wcześniej sądziłem xxx.xxx.xxx.xxx. Sumując chcę być w stanie stwierdzić z jakiego kraju użytkownik połączył się z moją stroną odczytując jego adres ip i na tej podstawie wyświetlić odpowiedni komunikat (opierając się na powyższych skryptach).
-------------------- Jeśli Ci pomogłem wciśnij Jeśli mi pomożesz wcisnę
|
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 05:05 |