![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam pewien problem z kodem, piszę własny sytem licencjonowania i irytuje mnie już ża coś nagle przestało działać... jeszcze do jakiegoś czasu wszystko było ok aż nagle skrypt zaczął wywalać błąd a raczej braku klucza lub jego poprawność....
W module mam taki kod:
W pliku veryfication_license.php mam kod:
gdy ręcznie w wyszukiwarce się wpisze adres z file_get_content podmieniając tagi na adres strony i klucz to pokazuje wszystko poprawnie natomiast moduł pokazuje mi błąd z funkcji
wyświetlanie ręcznie zmiennej $result nie pokazuje dosłownie nic a przy zmiennej $message pokazuje tą informację o błędnej liceencji... co najlepsze sprawdzałem kod na różnych sandboxach dostępnych w internecie, na 3 z pośród kilkunastu stron takich komunikat wyświetlał poprawnie że klucz prawidłowy ale na większości to samo: błędny klucz lub jego brak... Używam PHP 8.2 Co tutaj mogło się zepsuć? Dodam że plik sprawdzający klucz łączy się z bazą danych gdzie ten klucz się znajduje a prawa pliku (CHMOD) to 644, nic z tym nie było zmieniane ani ruszane... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Usuń @ z linii 4.
Nie wszystkie sandboxy pozwalają na użycie file_get_contents. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) ![]() ![]() |
Niestety dalej to samo... A moduł który wykorzystuje sprawdzanie licencji znajduje się na stronie klienta i dzięki tej zmiennej łączy się z moją stroną więc nie wykorzystuje sandboxów, z tego ja sprawdzałem czy czegoś nie pomieszałem.
Może jest jakaś inna zmienna zamiast file_get_contents która zadziała i będzie zgodna z najnowszą wersją PHP 8.2 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) ![]() ![]() |
$licencja wartość brana jest z pliku konfiguracyjnego, użytkownik dostaje klucz, wprowadza go w ustawieniach i zapisuje w pliku konfiguracyjnym, użyciu file_get_contents w $licencja nie zachodzą żadne zmiany. Z file_get_contents ma pobierać wartość z mojego portalu i porównywać dane czy użyty klucz przez użytkownika jest zgodny z kluczem który znajduje się w mojej bazie oraz czy klucz jest przypisany do domeny na której został wprowadzony. Jeszcze do niedawna całość działało i nie wiem kiedy się coś popsuło. Zmiana wersji PHP nie pomaga (IMG:style_emoticons/default/sad.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam, $result, nie $licencja.
Co daje var_dump($result); po file_get_contents? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) ![]() ![]() |
bool(false)
Jak dałem przed $result to miałem string(0) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 806 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zajrzyj do dokumentacji file_get_contents i sprawdź kiedy zwraca false (sekcja Return Values) oraz sekcja Tip.
Nie bardzo wiem skąd wynik string(0). Czy to był wynik z var_dump($licencja)? Jeśli tak, to po prostu wartość nie jest pobierana z $config. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli $licencja odczytana z konfiguracji jest NULL, to po co w ogóle sprawdzać ją po stronie twojego serwera funkcją file_get_contents(). Chyba wypadałoby kolejność działań zmienić.
file_get_contents() może u Ciebie zwrócić albo tekst "niekompletny adres" albo tekst zapisany w zmiennej $key albo cały div z informacją "<div class=\"alert alert-warning alert-orange alert-styled-left alert-arrow-left \">Brak Klucza Licencyjnego. Aby w pełni korzystać z modułu Online przejdź na stronę <a href='http://moja-strona/index.php' target=\"_blank\">Moja Strona</a> aby wykupić klucz licencyjny</div>" albo false/NULL w określonych przypadkach. Jeżeli dla trzech stron działa to prawidłowo, to znaczy, że każda inna strona jak kolega @trueblue wspomniał nie pobiera wartości z $config albo pobiera wartość nieprawidłową (może to być nawet spacja na końcu łańcucha znaków, czy jakiś znak specjalny). |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) ![]() ![]() |
ok znalazłem pewien błąd którego mocno nie rozumiem...
Na początek powiem że stronę mam postawioną na hostingu proserwer.pl tam podstawową domeną jest xaa.pl, mam jednak u nich również wykupioną oraz podpiętą domenę bez xaa i teraz tak: gdy w file_get_content jest w adresie podana domena: moja-strona.pl to wywala błąd bool(false) natomiast gdy zamienię na moja-strona.xaa.pl (czyli główna domena) to wszystko działa jak powinno więc pytanie w czym może tkwić problem by przypadkiem niepotrzebnie pisać do dostawcy serwera? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Żeby zdalne includowanie działało misia być włączone https://www.php.net/manual/en/filesystem.co...allow-url-fopen patrzyłeś na php.ini tego hosta?
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) ![]() ![]() |
hmm niby można ten parametr samemu wprowadzić w pliku .user.ni lub .htacess ale dalej nie działa więc napiszę do supportu hostingu o sprawdzenie tej opcji
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
A sprawdziłeś jakie jest ustawienie?
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 14.03.2023 Ostrzeżenie: (0%) ![]() ![]() |
Nie mam wglądu w plik PHP.ini mojego serwera
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 381 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
To jesteś wyjątkowym przypadkiem.
https://www.php.net/manual/en/function.phpinfo.php https://www.php.net/manual/en/function.ini-get |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.09.2025 - 13:28 |