Cześć,
piszę funkcję polegającą na możliwości zgłaszania problemów i potrzebuję zrobić tak, by formularz poprzez który zgłasza się problem był dostępny tylko z IP sieci lokalnej, dlaczego? Dlatego, że:
- Mój serwer ma "wyjście na świat", z którego panel dostępny jest z zewnątrz i musi tak pozostać, więc nie mogę go zamknąć.
- Funkcjonalność ta jest połączana z panelem, do którego mają dostęp inni (co muszą mieć), ale nie wszyscy mogą mieć, zwykła osoba, która potrzebuje zgłosić jakiś problem, ma to zrobić przez otwarty dla każdego (oczywiście z wewnątrz) formularz, a osoby przyjmujące problem i przekazują go dalej, do listy zgłoszeń będą mieć dostęp po zalogowaniu się do panelu (logiczne).
I teraz, aby jakimś cudem czy zwykłym przypadkiem, albo z premedytacją, ktoś z zewnątrz nie mógł wejść na otwarty formularz i "spamić" nieprawdziwymi zgłoszeniami, bądź co gorzej bot'ować potrzebuję zrobić coś w stylu zapory. Jakoże każdy komputer w sieci lokalnej ma swój adres IP w sposób dość uporządkowany, wydaje mi się, że najlepszym rozwiązaniem byłoby zrobić unikalny filtrator adresów. Wiadomo, że początek każdego adresu to np. 192.168... chciałbym, aby wszystkie adresy, które się tak zaczynają miały dostęp do formularza.
Można by też to zrobić poprzez samego explode().
<?php
list($first, $two) = explode(".", $_SERVER['REMOTE_ADDR']);
if($first == 192 AND $two == 168){
#Dopuszczamy dostęp
}
else{
#Odmawiamy dostępu
}
?>
choć wydaje mi się to zbyt naciągany sposób na wykonanie tego, chyba że się mylę, to mnie poprawcie.
Ma ktoś jakiś na to pomysł?
Z góry dzięki,
KrisKros123