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:
<?php
$url = $_SERVER['SERVER_NAME'];
$licencja = $config['activate']; // wynik to RWYY2-E0LAN-0AZHQ-C5CXH
$lic = $licencja;
$result = @file_get_contents("http://moja-strona.pl/api/modul_1/veryfication_license.php?domain={$url}&key={$licencja}"); if($result === $lic){
$message = "<div class=\"alert alert-success alert-green alert-styled-left alert-arrow-left alert-component\">Licencja w Pełni Aktywna dla serwisu <b><span style='color:red'>{$url}</span></b></div>";
$status_licence = "<div style='color:green'><b>Licencja Aktywna - Pełna</b></div>";
}elseif($result !== $licencja) {
$message = "<div class=\"alert alert-danger alert-red alert-styled-left alert-arrow-left \">Brak Klucza Licencyjnego lub podany Klucz licencyjny jest nieprawidłowy</div>";
$status_licence = "<div style='color:red'><b>Klucz Licencyjny jest niepoprawny</b></div>";
}
if($licencja == NULL){
$message = "<div class=\"alert alert-warning alert-orange alert-styled-left alert-arrow-left \">Brak Klucza Licencyjnego. Aby w pełni korzystać z modułu przejdź na stronę <a href='http://moja-strona.pl/api/modul_1/index.php' target=\"_blank\">MOJA Strona</a> aby wykupić klucz licencyjny</div>";
$status_licence = "<div style='color:orange'><b>Brak klucza licencyjnego - Testowa wersja</b></div>";
}
// poniższe kody dawałem do wyświetlania zawartości
echo "<br><br>Wynik z strony:<br>"; ?>
W pliku veryfication_license.php mam kod:
<?php
//Walidacja danych przekazanych po adresie (metoda GET)
if(isset($_GET['domain']) && trim($_GET['domain']) != '') $domain = $_GET['domain'];
else
{
//header("Location:http://www.strona_glowna.pl");
echo "niekompletny adres"; }
if(isset($_GET['key']) && trim($_GET['key']) != '') $key = $_GET['key'];
else
{
//header("Location:http://www.strona_glowna.pl");
echo "niekompletny adres"; }
//załączamy pliki i łaczymy się z bazą danych
include_once('lib/mysqli.php');
include('lib/query_string.php');
$mydata = new Tmysqli('lib/config.ini');
$my_qr = sprintf($query_user_domain_key,$domain, $key); $mydata -> SetQuery($my_qr);
if($mydata->CouRec() > 0){
}
else{
echo "<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>"; }
$mydata->DBClose();
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
elseif($result !== $licencja) {
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...