UWAGA: W PHP wykryto krytyczne podatności, przez które Wasze strony/fora mogą zostać zhakowane! Dzisiaj mają być udostępnione poprawione wersje, warto monitorować i ustawić odpowiendie wersje PHP na swom serwerze.

Poprawki będę zawarte w wersjach PHP: 8.5.12, 8.4.27, 8.3.36 oraz 8.2.35! Jeśli używacie jeszcze wersje PHP 7.x lub 8.0.x lub 8.1.x, należy, jak najszybciej podnieść wersje PHP i/lub zaktualizować swoje fora!

Do momentu wdrożenia oficjalnej łatki, ryzyko ataku można drastycznie zmniejszyć poprzez zmianę konfiguracji w pliku php.ini:
Ustaw: session.upload_progress.enabled = Off

Albo np., można zrobić: https://ma.ttias.be/php-cve-2026-109618 ... itigation/

Dla serwera Apache ustaw w pliku .htaccess

Kod: Zaznacz cały

RewriteEngine On
RewriteCond %{HTTP:Content-Type} multipart/form-data [NC]
RewriteRule ^ - [F]
i/lub - nie testowałem

Kod: Zaznacz cały

<If "req('Content-Type') =~ /multipart/i">
    Require all denied
</If>

Dla nginx

Kod: Zaznacz cały

# http {} context, e.g. /etc/nginx/conf.d/block-multipart.conf
map $http_content_type $block_multipart {
    default       0;
    "~*multipart" 1;
}

# inside every server {} that passes requests to PHP, including default/catch-all servers
if ($block_multipart) {
    return 403;
}
_____________________________________________________

Pojawiła się nowa wersja systemu - phpBB 3.3.19. Ostatnie wydania (od wersji 3.3.17 do najnowszej) przynoszą kluczowe poprawki, które chronią Twoje forum przed zagrożeniami i dbają o spokój Twojej społeczności. Polecam nie odkładać tego na później, tyllko zaktualizować fora!

Polski pakiet językowy dla phpBB 3.3.19

[PHP] Problem z sesjami

Forum poświęcone skryptom, językom programowania, serwerom i hostingowi, domenom itp.
loco71

[PHP] Problem z sesjami

Post autor: loco71 » 07 lutego 2012, 08:57

Mam problem z sesjami. Wszystko wygląda ok, lecz po przejściu do trzeciego pliku od zainicjowania zmiennej sesyjnej, traci ona wartość.

Pierwszy plik. Inicjacja zmiennej sesyjnej "inicjuj". Używamy przycisku NEXT i przechodzimy do następnego pliku.

Kod: Zaznacz cały

<?php
 session_start();
	if (!isset($_SESSION['inicjuj']))
	{
			session_regenerate_id();
			$_SESSION['inicjuj'] = true;
			$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
			echo '<a href="_first.php" ><input type="button" value="NEXT" /></a>';
	}
	if($_SESSION['ip'] != $_SERVER['REMOTE_ADDR'])
	{
			die('Proba przejecia sesji udaremniona!');      
	}
?>
Drugi plik. Pierwsze sprawdzenie warunku. Przechodzi bez problemu. Używamy przycisku NEXT i przechodzimy do następnego pliku.

Kod: Zaznacz cały

<?php
	if(isset($_SESSION['inicjuj']) && $_SESSION['ip'] == $_SERVER['REMOTE_ADDR'])
	{
		echo 'Dobrze<br>';
		echo '<a href="_second.php" ><input type="button" value="NEXT" /></a>';
	}
	else{
		echo 'Coś poszło nie tak';
	}
?>
Trzeci plik. Sprawdzanie warunku nie przechodzi pomyślnie.

Kod: Zaznacz cały

<?php
	if(isset($_SESSION['inicjuj']) && $_SESSION['ip'] == $_SERVER['REMOTE_ADDR'])
	{
		echo 'Dobrze<br>';
	}
	else{
		echo 'Coś poszło nie tak';
	}
?>

ODPOWIEDZ

Wróć do „Webmastering”