Skocz do zawartości

Jak przerobić skrypt, aby działał z wyłączonym register_globals


nigraS

Rekomendowane odpowiedzi

Jak przerobić skrypt, aby działał z wyłączonym register_globals

Zamiast wygenerowania bannera pojawia się błąd:

"Obrazek "https://puls24.eu/banner-generator/banner.php" nie może zostać wyświetlony, ponieważ zawiera błędy."

może Wy wiecie o co chodzi?

adres do generatora:

https://puls24.eu/banner-generator/

tutaj link do tego skryptu:

https://fastbanner.templatesforall.com/

Wersja skryptu 4 Beta.

Lub może znacie inny skrypt warty polecenia?

banner.php

<?php
header("Content-Type: image/gif");
$fontpath = "fonts/";
$titlefont = "$fontpath/$titlef";
$tagfont = "$fontpath/$tagf";

if ((isset($titletext) || $titletext > "")
	and (isset($tagtext) || $tagtext > "")) {
$titlecolor = substr($titlecolor, -6);
$r1 = hexdec(substr($titlecolor, 0, 2));
$g1 = hexdec(substr($titlecolor, 2, 2));
$b1 = hexdec(substr($titlecolor, 4, 2));
$tagcolor = substr($tagcolor, -6);
$r2 = hexdec(substr($tagcolor, 0, 2));
$g2 = hexdec(substr($tagcolor, 2, 2));
$b2 = hexdec(substr($tagcolor, 4, 2));
$titletext2 = stripslashes($titletext);
$tagtext2 = stripslashes($tagtext);
$image = imagecreatefrompng("banner/$select_banner");
$titlecolor = imagecolorallocate($image, $r1, $g1, $b1);
$tagcolor = imagecolorallocate($image, $r2, $g2, $b2);
$shadow = imagecolorallocate($image, 153, 153, 153);
if ($titleshadow == "yes"){
ImageTTFText($image, $titlesize, 0, $titlex+1, $titley+1, $shadow, $titlefont, $titletext2);
}
if ($tagshadow == "yes"){
ImageTTFText($image, $tagsize, 0, $tagx+1, $tagy+1, $shadow, $tagfont, $tagtext2);
}
ImageTTFText($image, $titlesize, 0, $titlex, $titley, $titlecolor, $titlefont, $titletext2);
ImageTTFText($image, $tagsize, 0, $tagx, $tagy, $tagcolor, $tagfont, $tagtext2);
ImageGIF($image);
} 
$fp = fopen("gencount.txt","r+");
$gen = fread ($fp,7);
$gen++;
rewind($fp);
fputs($fp, $gen, 7);
fclose($fp);
?>

Odnośnik do komentarza
Udostępnij na innych stronach

Musisz się zapoznać z różnicami dla register_globals i odpowiednio dostosować swoje oprogramowanie.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

register_globals działa w ten sposób, że wszelkie parametry GET (i POST chyba też nie pamiętam) dołączone do URL-a są zamieniane na zmienne, np.:

twojastrona.pl/index.php?abc=12

jest zmieniane na zmienną $abc o wartości 12

Nie zaleca się używania register_globals z uwagi na bezpieczeństwo.

Jeżeli jednak olewasz bezpieczeństwo możesz na szybko (aczkolwiek nie polecam) zrobić prosty skrypt (1 linijka) który zrobi to samo co register_globals:

if (isset($_GET) && is_array($_GET)) foreach ($_GET as $_vn => $_vv) $$_vn = $_vv;

Nie testowałem ale powinno działać. Umieszczasz na początku każdego skryptu lub w jakimś pliku startowym/etc.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności