Thread View: pl.comp.sieci
19 messages
19 total messages
Started by Colnet
Sat, 21 Nov 2020 13:08
Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Sat, 21 Nov 2020 13:08
Date: Sat, 21 Nov 2020 13:08
9 lines
1967 bytes
1967 bytes
Chcę zrobić podstronę www która dostępna była by do odczytu za hasłem, przydał by się numer IP odczyttującego i zapis do pliku. Jak zrobić hasło to się doczytałem tutaj: https://edodatki.pl/porada-dla-webmasterow/jak-zrobic-zabezpieczenie-strony-haslem jak odczyt numeru IP też: http://www.capaciouscore.pl/artykuly/jak-odczytac-adres-ip-goscia-odwiedzajacego-strone/ - ale nie mogę nigdzie znaleźć sposobu zapisu tego numeru do pliku i odczytanie tegoż. Chodzi mi o publiczny numer IP - to jest jak pod takim jest wiele komputerów z zakresu IP 192.168.x.x - to już o takie dokładności mi nie chodzi - wystarczy ten publiczny IP. Proszę o pomoc lub pomocny link do tematu.
Re: Strona www z potwierdzeniem odczytania
Author: Mateusz Viste
Date: Sat, 21 Nov 2020 13:31
Date: Sat, 21 Nov 2020 13:31
13 lines
1340 bytes
1340 bytes
On Sat, 21 Nov 2020 05:08:11 -0800 (PST)
Colnet <januszp366@gmail.com> wrote:
> - ale nie mogę nigdzie znaleźć sposobu zapisu tego numeru do pliku
> i odczytanie tegoż. Chodzi mi o publiczny numer IP - to jest jak pod
> takim jest wiele komputerów z zakresu IP 192.168.x.x - to już o takie
> dokładności mi nie chodzi - wystarczy ten publiczny IP.
<?php file_put_contents('plik.txt', $_SERVER['REMOTE_ADDR']); ?>
* https://www.php.net/manual/en/reserved.variables.server
* https://www.php.net/manual/en/function.file-put-contents
Mateusz
Re: Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Thu, 26 Nov 2020 07:02
Date: Thu, 26 Nov 2020 07:02
10 lines
2163 bytes
2163 bytes
sobota, 21 listopada 2020 o 13:31:46 UTC Mateusz Viste napisał(a):
[..]
> <?php file_put_contents('plik.txt', $_SERVER['REMOTE_ADDR']); ?>
>
> * https://www.php.net/manual/en/reserved.variables.server
> * https://www.php.net/manual/en/function.file-put-contents
Próbowałem to z plikiem index.html oraz index.php - obydwa umieszczałem w podkatalogu strony ABC - niestety plik.txt pozostał pusty - trening przeprowadzałem na razie ze swoim komputerem i swoją stroną na serwerze odległym. Wiersz skryptu umieszczałem zaraz pod "body" - może w innym miejscu należy umieścić ?
Googlowałem w sprawie jeszcze raz ale wszędzie tylko o odczytywaniu IP i nigdzie o zapisie do pliku. Linki które podałeś odwiedziłem - ale przy nieznajomości PHP są dla mnie niezrozumiałe.
Re: Strona www z potwierdzeniem odczytania
Author: Mateusz Viste
Date: Thu, 26 Nov 2020 08:36
Date: Thu, 26 Nov 2020 08:36
44 lines
2486 bytes
2486 bytes
On 25 Nov 2020 23:02 -0800 (PST) Colnet <januszp366@gmail.com> wrote:
> sobota, 21 listopada 2020 o 13:31:46 UTC Mateusz Viste napisał(a):
> > <?php file_put_contents('plik.txt', $_SERVER['REMOTE_ADDR']); ?>
>
> Próbowałem to z plikiem index.html oraz index.php - obydwa
> umieszczałem w podkatalogu strony ABC - niestety plik.txt pozostał
> pusty
Tzn. plik "plik.txt" został stworzony, ale z pustą zawartością? W
takim razie niewykluczone, że twój hosting z jakichś powodów nie
podaje REMOTE_ADDR w $_SERVER[].
Przeczytaj zawartość tabeli $_SERVER[], być może znajdziesz adres IP
klienta pod innym indeksem:
<html><head></head><body><pre>
<?php var_dump($_SERVER); ?>
</pre></body></html>
U mnie widzę, że adres klienta pojawia się pod HTTP_REMOTE_IP,
REMOTE_ADDR oraz HTTP_X_REMOTE_IP.
> trening przeprowadzałem na razie ze swoim komputerem
"trening"? Brzmi intensywnie. :)
> Wiersz skryptu umieszczałem zaraz pod "body" - może w innym miejscu
> należy umieścić ?
Wszystko jedno, gdziekolwiek by nie był, PHP go uruchomi (pod warunkiem,
że sam plik zostanie wykonany - jeśli na serwerze działa PHP i plik
posiada rozszerzenie *.php, to powinien).
> tylko o odczytywaniu IP i nigdzie o zapisie do pliku.
Odczyt IP klienta wykonasz za pomocą super globalnej zmiennej
$_SERVER[], a zapis do pliku najprościej jednym wywołaniem
file_put_contents(). Dla testu możesz wykonać coś takiego:
<?php file_put_contents('plik.txt', 'tralalala'); ?>
To wszystko oczywiście przy założeniu, że twój hosting wspiera php.
Mateusz
Re: Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Thu, 26 Nov 2020 09:50
Date: Thu, 26 Nov 2020 09:50
6 lines
2193 bytes
2193 bytes
czwartek, 26 listopada 2020 o 08:36:19 UTC Mateusz Viste napisał(a): [..] > Tzn. plik "plik.txt" został stworzony, ale z pustą zawartością? W [..] Wow...! Dzięki za odpowiedź - "poszło" - radość wywołała u mnie sentencja słów: "Tzn. plik "plik.txt" został stworzony, ale z pustą zawartością?". Ja ten plik.txt utworzyłem "ręcznie" na dysku i wysłałem na server, ale jak napisałeś że ten plik ma zostać utworzony na serverze to ten wysłany skasowałem, później otworzyłem stronę i był plik plik.txt wraz zawartością mojego IP. Chodziło zapewne o prawa zapisu do pliku - ja pracuję pod Linux Mint więc plik miał moje prawa usera na systemie - teraz jest OK - dzięki bardzo. Da radę jeszcze dokoptować to tego datę i czas tak żeby były w jednej linii z nr IP ?
Re: Strona www z potwierdzeniem odczytania
Author: Mateusz Viste
Date: Thu, 26 Nov 2020 10:02
Date: Thu, 26 Nov 2020 10:02
20 lines
1551 bytes
1551 bytes
On 26 Nov 2020 01:50 -0800 (PST) Colnet <januszp366@gmail.com> wrote:
> Da radę jeszcze dokoptować to tego datę i czas tak żeby były w jednej
> linii z nr IP ?
Patrz tutaj:
https://www.php.net/manual/en/function.date.php
Czyli wyjdzie coś takiego:
<?php
file_put_contents('plik.txt', date('c') .
': '. $_SERVER['REMOTE_ADDR']);
?>
Każde wywołanie spowoduje nadpisanie pliku plik.txt nową zawartością.
Odpowiedź na to, w jaki sposób miast tego dodawać kolejne wpisy do pliku
znajdziesz w podręczniku (wcześniej podanym) od file_put_contents().
Mateusz
Re: Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Thu, 26 Nov 2020 14:14
Date: Thu, 26 Nov 2020 14:14
12 lines
1913 bytes
1913 bytes
czwartek, 26 listopada 2020 o 10:02:05 UTC Mateusz Viste napisał(a):
[..]
>
> Czyli wyjdzie coś takiego:
>
> <?php
> file_put_contents('plik.txt', date('c') .
> ': '. $_SERVER['REMOTE_ADDR']);
> ?>
[..]
Dzięki - funkcjonuje zarówno data/czas jak i numer IP.
O dopisywaniu kolejnych linii poczytam późnym wieczorem lub jutro.
Re: Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Fri, 27 Nov 2020 04:21
Date: Fri, 27 Nov 2020 04:21
1 lines
2067 bytes
2067 bytes
Póki co ściągnąłem sobie e-book z kursem PHP , tyle tylko że na pewno nie zdążę z nim do świąt. Tematu szukam pod hasłem : "wielowierszowy zapis do pliku", ale jak na razie z marnymi wynikami. Ze strony : https://www.php.net/manual/en/function.file-put-contents nie sposób coś wyczytać nie znając PHP, może ktoś z forumowiczów podpowie mi pod jakim tematem mam szukać potrzebnych informacji w Google'ach.
Re: Strona www z potwierdzeniem odczytania
Author: Mateusz Viste
Date: Fri, 27 Nov 2020 08:13
Date: Fri, 27 Nov 2020 08:13
24 lines
2301 bytes
2301 bytes
On 26 Nov 2020 20:21 -0800 (PST) Colnet <januszp366@gmail.com> wrote: > Póki co ściągnąłem sobie e-book z kursem PHP , tyle tylko że na > pewno nie zdążę z nim do świąt. Tematu szukam pod hasłem : > "wielowierszowy zapis do pliku", ale jak na razie z marnymi > wynikami. Ze strony : > https://www.php.net/manual/en/function.file-put-contents nie sposób > coś wyczytać nie znając PHP, może ktoś z forumowiczów podpowie mi pod > jakim tematem mam szukać potrzebnych informacji w Google'ach. W podręczniku do którego linka podałem wcześniej, a który cytujesz nieco wyżej, jest to jednoznacznie wyjaśnione. Funkcja file_put_contents() oczekuje dwóch obowiązkowych argumentów: nazwę pliku oraz dane do wpisania w ten plik. Opcjonalnie może także przyjąć dwa kolejne argumenty, w tym "flagi". Jedną z możliwych flag jest flaga FILE_APPEND. podręcznik pisze o niej tak: "If file filename already exists, append the data to the file instead of overwriting it." Krótko mówiąc, wystarczy dodać FILE_APPEND jako trzeci argument wywołania funkcji file_put_contents(). Mateusz
Re: Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Sun, 29 Nov 2020 11:11
Date: Sun, 29 Nov 2020 11:11
9 lines
2141 bytes
2141 bytes
[..] > Krótko mówiąc, wystarczy dodać FILE_APPEND jako trzeci argument > wywołania funkcji file_put_contents(). [..] Dzięki bardzo - skrypt pracuje i zapisuje potrzebne informacje. Pracuję obecnie nad tym żeby jedno otwarcie strony to był jeden wiersz z tymi informacjami - w ten sposób będzie to bardziej czytelne. Usiłowałem się zapisać na forum PHP - forum.php.pl , ale coś mają zwalone przy rejestracji i na razie sam kombinuję jak to zrobić. Może jest jakieś inne, a polskojęzyczne forum o PHP ?
Re: Strona www z potwierdzeniem odczytania
Author: Mateusz Viste
Date: Sun, 29 Nov 2020 16:51
Date: Sun, 29 Nov 2020 16:51
17 lines
1882 bytes
1882 bytes
On 29 Nov 2020 03:11 -0800 (PST) Colnet <januszp366@gmail.com> wrote:
> Pracuję obecnie nad tym żeby jedno otwarcie strony to był jeden
> wiersz z tymi informacjami - w ten sposób będzie to bardziej
> czytelne.
Brzmi jakby brakowało po prostu LFa ("\n").
file_put_contents('plik.txt', date('c') . ': '.
$_SERVER['REMOTE_ADDR'] . "\n");
> Usiłowałem się zapisać na forum PHP - forum.php.pl , ale
> coś mają zwalone przy rejestracji i na razie sam kombinuję jak to
> zrobić. Może jest jakieś inne, a polskojęzyczne forum o PHP ?
Nic nie wiem o żadnych forach, nie znam się.
Mateusz
Re: Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Sun, 29 Nov 2020 19:08
Date: Sun, 29 Nov 2020 19:08
21 lines
2558 bytes
2558 bytes
> niedziela, 29 listopada 2020 o 16:51:48 UTC Mateusz Viste napisał(a):
> Brzmi jakby brakowało po prostu LFa ("\n").
> file_put_contents('plik.txt', date('c') . ': '.
> $_SERVER['REMOTE_ADDR'] . "\n");
Dzięki, ale ja już to próbowałem najpierw było tak:
<?php
file_put_contents('visitors.txt', date('c') .
': '. $_SERVER['REMOTE_ADDR'] , FILE_APPEND );
echo("\r\n");
?>
- błędu nie wyrzuca, ale też nowej linii nie robi.
Jak wstawiłem jak napisałeś to parser wyrzuca błąd:
Parse error: syntax error, unexpected '"\n"' (T_CONSTANT_ENCAPSED_STRING) in /profiles [..]index.php on line 11
Z tym nie ma najmniejszego problemu ponieważ mogę sobie ten plik ściągnąć
na komputer i Enterem "masowo" dostawić w Word'zie.
Re: Strona www z potwierdzeniem odczytania
Author: Mateusz Viste
Date: Mon, 30 Nov 2020 08:24
Date: Mon, 30 Nov 2020 08:24
21 lines
2029 bytes
2029 bytes
On 29 Nov 2020 11:08 -0800 (PST) Colnet <januszp366@gmail.com> wrote:
> Dzięki, ale ja już to próbowałem najpierw było tak:
>
> <?php
> file_put_contents('visitors.txt', date('c') .
> ': '. $_SERVER['REMOTE_ADDR'] , FILE_APPEND );
> echo("\r\n");
> ?>
> - błędu nie wyrzuca, ale też nowej linii nie robi.
Robi. Tyle, że na ekranie, a nie w pliku. file_put_contents() wrzuca
dane do pliku, a echo po prostu je wyświetla.
> Jak wstawiłem jak napisałeś to parser wyrzuca błąd:
>
> Parse error: syntax error, unexpected '"\n"'
> (T_CONSTANT_ENCAPSED_STRING) in /profiles [..]index.php on line 11
Coś przekombinowałeś. Podaj dokładnie, co zrobiłeś.
Mateusz
Re: Strona www z potwierdzeniem odczytania
Author: Piotr Lechowicz
Date: Mon, 30 Nov 2020 21:19
Date: Mon, 30 Nov 2020 21:19
22 lines
2373 bytes
2373 bytes
W dniu 2020-11-30 o 09:24, Mateusz Viste pisze:
> On 29 Nov 2020 11:08 -0800 (PST) Colnet <januszp366@gmail.com> wrote:
>> Dzięki, ale ja już to próbowałem najpierw było tak:
>>
>> <?php
>> file_put_contents('visitors.txt', date('c') .
>> ': '. $_SERVER['REMOTE_ADDR'] , FILE_APPEND );
>> echo("\r\n");
>> ?>
>> - błędu nie wyrzuca, ale też nowej linii nie robi.
>
> Robi. Tyle, że na ekranie, a nie w pliku. file_put_contents() wrzuca
> dane do pliku, a echo po prostu je wyświetla.
>
Może spróbuj:
<?php
file_put_contents('visitors.txt', date('c') . ': ' . $_SERVER['REMOTE_ADDR'] . '\r\n', FILE_APPEND);
?>
echo pomiń całkowicie.
Re: Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Mon, 30 Nov 2020 23:28
Date: Mon, 30 Nov 2020 23:28
15 lines
2983 bytes
2983 bytes
poniedziałek, 30 listopada 2020 o 21:19:32 UTC Piotr Lechowicz napisał(a):
[..]
>
> <?php
> file_put_contents('visitors.txt', date('c') . ': ' . $_SERVER['REMOTE_ADDR'] . '\r\n', FILE_APPEND);
> ?>
>
> echo pomiń całkowicie.
--------------------------------------------------
Zrobiłem jak napisałeś - oto wynik:
2020-12-01T00:17:38+01:00: 79.75.141.132\r\n2020-12-01T00:17:45+01:00: 79.75.141.132\r\n2020-12-01T00:17:47+01:00: 79.75.141.132\r\n2020-12-01T00:17:48+01:00: 79.75.141.132\r\n2020-12-01T00:17:50+01:00: 79.75.141.132\r\n2020-12-01T00:17:51+01:00: 79.75.141.132\r\n2020-12-01T00:17:53+01:00: 79.75.141.132\r\n
Wiesz - ja Ci bardzo dziękuję za pomoc - nie chcę Ci już zaprzątać czasu którego dziś nikt w nadmiarze nie ma.
Tyle co mam w tym skrypcie to w zupełności wystarczy, a jeśli do tego przyłożyć że ma ten skrypt pracować
w okresie świąt i nowego roku - to mam aż nad to co potrzebuję. Dzięki bardzo za pomoc i cierpliwość.
Re: Strona www z potwierdzeniem odczytania
Author: Mateusz Viste
Date: Tue, 01 Dec 2020 06:13
Date: Tue, 01 Dec 2020 06:13
22 lines
2357 bytes
2357 bytes
On 30 Nov 2020 15:28 -0800 (PST) Colnet <januszp366@gmail.com> wrote:
> poniedziałek, 30 listopada 2020 o 21:19:32 UTC Piotr Lechowicz
> napisał(a): [..]
> >
> > <?php
> > file_put_contents('visitors.txt', date('c') . ': ' .
> > $_SERVER['REMOTE_ADDR'] . '\r\n', FILE_APPEND); ?>
> >
> > echo pomiń całkowicie.
> --------------------------------------------------
> Zrobiłem jak napisałeś - oto wynik:
> 2020-12-01T00:17:38+01:00:
> 79.75.141.132\r\n2020-12-01T00:17:45+01:00:
> 79.75.141.132\r\n2020-12-01T00:17:47+01:00:
> 79.75.141.132\r\n2020-12-01T00:17:48+01:00:
Piotr proponował zawarcie \r\n w pojedyńczym cudzysłowie. Myślę, że to
błąd, bo o ile dobrze kojarzę to taki cudzysłów nie może zawierać
żadnych interpretowanych wartości. Sugeruję skorzystać z "\r\n" (lub
"\n") zamiast '\r\n'.
Mateusz
Re: Strona www z potwierdzeniem odczytania
Author: Piotr Lechowicz
Date: Tue, 01 Dec 2020 07:17
Date: Tue, 01 Dec 2020 07:17
31 lines
3065 bytes
3065 bytes
W dniu 2020-12-01 o 07:13, Mateusz Viste pisze:
> On 30 Nov 2020 15:28 -0800 (PST) Colnet <januszp366@gmail.com> wrote:
>> poniedziałek, 30 listopada 2020 o 21:19:32 UTC Piotr Lechowicz
>> napisał(a): [..]
>>> <?php
>>> file_put_contents('visitors.txt', date('c') . ': ' .
>>> $_SERVER['REMOTE_ADDR'] . '\r\n', FILE_APPEND); ?>
>>>
>>> echo pomiń całkowicie.
>> --------------------------------------------------
>> Zrobiłem jak napisałeś - oto wynik:
>> 2020-12-01T00:17:38+01:00:
>> 79.75.141.132\r\n2020-12-01T00:17:45+01:00:
>> 79.75.141.132\r\n2020-12-01T00:17:47+01:00:
>> 79.75.141.132\r\n2020-12-01T00:17:48+01:00:
> Piotr proponował zawarcie \r\n w pojedyńczym cudzysłowie. Myślę, że to
> błąd, bo o ile dobrze kojarzę to taki cudzysłów nie może zawierać
> żadnych interpretowanych wartości. Sugeruję skorzystać z "\r\n" (lub
> "\n") zamiast '\r\n'.
>
> Mateusz
Oczywiście, masz rację - mój błąd.
Pojedynczy cudzysłów może zawierać różne rzeczy, ale nie są one interpretowane. Przechodzą literalnie tak jak są wpisane - stąd string \n\r zamiast nowej linii w pliku.
To powinno zadziałać zgodnie z oczekiwaniami:
<?php
file_put_contents('visitors.txt', date('c') . ': ' . $_SERVER['REMOTE_ADDR'] . "\r\n", FILE_APPEND);
?>
Piotr
Re: Strona www z potwierdzeniem odczytania
Author: Mateusz Viste
Date: Tue, 01 Dec 2020 09:07
Date: Tue, 01 Dec 2020 09:07
13 lines
2138 bytes
2138 bytes
On 1 Dec 2020 08:17 +01 Piotr Lechowicz <edithkal@gmail.com> wrote:
> To powinno zadziałać zgodnie z oczekiwaniami:
> <?php
> file_put_contents('visitors.txt', date('c') . ': ' .
> $_SERVER['REMOTE_ADDR'] . "\r\n", FILE_APPEND); ?>
Tak jest - i to dokładnie proponowałem (w wersji z "\n", gdyż OP
wspominał, że działa na Linuksie) dn. 29.11.2020 o 16:51 UTC. Umyślnie
nie podałem wówczas flagi FILE_APPEND licząc na to, że Janusz sobie to
rozumnie poskłada. Przypowieść o wędce, itd. No ale teraz ma już
wszystko na tacy.
Mateusz
Re: Strona www z potwierdzeniem odczytania
Author: Colnet
Date: Tue, 01 Dec 2020 09:36
Date: Tue, 01 Dec 2020 09:36
10 lines
2583 bytes
2583 bytes
Bingo. Skrypt działa. 2020-12-01T10:21:38+01:00: 79.75.141.132 2020-12-01T10:21:41+01:00: 79.75.141.132 2020-12-01T10:21:45+01:00: 79.75.141.132 2020-12-01T10:21:48+01:00: 79.75.141.132 2020-12-01T10:21:51+01:00: 79.75.141.132 Dziękuję wam obu za pomoc. W styczniu zamierzam się wziąć za naukę albo Java albo PHP. Co polecicie mi jako pierwsze bo zamierzam nauczyć się obu a kolejność dobrać tak żeby nawyki z "pierwszego" nie utrudniały w tym drugim.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads