Witam
Muszę zrobić weryfikację czy ściągany plik jest obrazem czy czymś innym (na potrzeby poboru opłaty za plik)
Jeśli pobierany plik jest obrazkiem (jpeg,gif,png,itp) opłata nie ma być pobierana
Potrzebuję do tego wrzucić do warunku nazwę lub rozszerzenie pliku, ale nie wiem w jakiej zmienne jest to przekazywane do file.php.
Pozdrawiam Michał
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
i/lub - nie testowałem
Dla nginx
_____________________________________________________
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
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]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
Zmienna z nazwą pliku przekazywana do file.php
Re: Zmienna z nazwą pliku przekazywana do file.php
Metodą GET do skryptu podawane jest ID pliku. Na podstawie tego ID ustalane jest rozszerzenie (pobierane z bazy). Dwa fragmenty z download/file.php:
Kod: Zaznacz cały
$download_id = request_var('id', 0);Kod: Zaznacz cały
$sql = 'SELECT attach_id, in_message, post_msg_id, extension, is_orphan, poster_id, filetime
FROM ' . ATTACHMENTS_TABLE . "
WHERE attach_id = $download_id";Re: Zmienna z nazwą pliku przekazywana do file.php
Tak działa...
Kod: Zaznacz cały
$sql = 'SELECT attach_id, is_orphan, in_message, post_msg_id, extension, physical_filename, real_filename, mimetype, filetime, extension
FROM ' . ATTACHMENTS_TABLE . "
WHERE attach_id = $download_id";
$result = $db->sql_query_limit($sql, 1);
$attachment = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$attachment)
{
send_status_line(404, 'Not Found');
trigger_error('ERROR_NO_ATTACHMENT');
}
$attachment['extension'] = utf8_basename($attachment['extension']);
if (
($attachment['extension'] != 'jpg')&&
($attachment['extension'] != 'png') &&
($attachment['extension'] != 'gif')
)
{