Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 6 reacties
Bron: PHP.net, submitter: bgever

De ontwikkelaars van PHP hebben gisteren de tweede release candidate van versie 4.3.5 vrijgegeven. In deze versie zijn gewoontegetrouw een aantal bugs opgelost en deze keer zijn er geen nieuwe features toegevoegd. Waarschijnlijk zal dit de laatste release candidate zijn voordat de final versie uitgegeven wordt, dus iedereen wordt opgeroepen deze versie grondig te testen. De complete lijst met veranderingen is hieronder terug te vinden, maar natuurlijk ook bij PHP.net zelf en wel op deze pagina.

  • Changed "allow_url_fopen" php.ini option to be PHP_INI_SYSTEM. (Sara)
  • Improved the sybase_ct module: (Timm)
    • Added ability to define a message handler not only globally, but also per connection.
    • Added "sybct.packet_size" php.ini option.
    • Changed "sybct.login_timeout" php.ini option changeable at runtime.
    • Fixed memory leak in sybase_set_message_handler().
  • Fixed bug #27058 (crash in sybase_connect() with 2 arguments). (Ilia)
  • Fixed bug #27056 (ints used instead of longs inside some GD functions). (Ilia)
  • Fixed bug #27040 (passing an array of form-fields to CURLOPT_POSTFIELDS does not work). (Ilia, Jani)
  • Fixed bug #27037 (fixed possible crash in apache2handler output code). (Ilia)
  • Fixed bug #27011 (64bit int/long confusion in preg_match*() functions). (Ilia)
  • Fixed bug #27007 (missing connection closure when connect fails in pgsql). (Ilia)
  • Fixed bug #26974 (rename() doesn't check the destination file against safe_mode/open_basedir). (Ilia)
  • Fixed bug #26973 (*printf() '+' modifier broken). (Jani)
  • Fixed bug #26969 (--with-openssl=shared build fails). (Jani)
  • Fixed bug #26968 (Segfault with Interbase module built as shared). (Ard)
  • Fixed bug #26949 (rand(min,max) always returns min when ZTS enabled). (Jani)
  • Fixed bug #26937 (Warning in xml.c). (Jani)
  • Fixed Bug #26927 (preg_quote() does not escape \0). (Ilia)
  • Fixed bug #26923 (ext/imap: pam and crypt libraries missing when build as shared extension). (Jani)
  • Fixed bug #26909 (crash in imap_mime_header_decode() when no encoding is used). (Ilia)
  • Fixed bug #26892 (ORA-21301 in ocinewcollection() call). (Antony)
  • Fixed bug #26878 (problem with multiple references to the same variable with different types). (Ilia)
  • Fixed bug #26896 (ext/ftp does not work as shared extension). (Jani)
  • Fixed bug #26814 (When included file has a parse error, terminate script execution). (Ilia)
  • Fixed bug #26772, #26967 (file operations return NULL instead of FALSE). (Wez, Ilia)
  • Fixed bug #26381 (rand() without srand() doesn't work with certain php.ini). (Jani)
  • Fixed bug #25753 (php.ini settings "leak" from vhosts/.htaccess files). (Patch by: rover at tob dot ru)
  • Fixed bug #22403 (PHP crashes when executing a sql procedure without parameters). (Timm)
  • Fixed bug #21513 (shutdown functions not executed if timed out). (Zeev)
[break] Deze versie van PHP wordt geleverd in drie versies:
* php-4.3.5RC2.tar.bz2 (3,64 MB)
* php-4.3.5RC2.tar.gz (24,1 MB)
* php-4.3.5RC2-Win32.zip (6,60 MB)
Versienummer:4.3.5 RC2
Besturingssystemen:Windows 9x, Windows NT, Windows 2000, Linux, Windows XP, Linux x86, Windows Server 2003
Website:PHP.net
Download:http://downloads.php.net/ilia/php-4.3.5RC2.tar.bz2
Bestandsgrootte:3,65MB
Licentietype:GPL
Moderatie-faq Wijzig weergave

Reacties (6)

Fixed bug #25753 (php.ini settings "leak" from vhosts/.htaccess files). (Patch by: rover at tob dot ru)
Kijk eens aan, hier zat ik al een hele tijd op wachten. Ik gebruik in mijn virtualhosts ook php_admin_flag e.d. en soms dan gaat dat niet helemaal goed (het is al wel een stuk minder dan voorheen). Hopelijk is het nu helemaal weg.
da is idd het eerste waar ik naar keek.

maar even wachten totdat ook daadwerkelijk blijkt dattie er echt uit is.
als je de code bekijkt waar dit gebeurd dan is het niet verwonderlijk dat deze bug zo moeilijk reproduceerbaar was.
het heeft de developpers maanden gekost om hem uberhaubt 100% te kunnen reproduceren en het was wel een hele irritante bug als je niet weet wat er aan de hand is als eind user.

als het dan nu eindelijk gefixed blijkt te zijn kunnen we zowaar weer base_dir restrictions en safe_mode aan zetten, niet geheel onbelangrijk als je php meer secure wil maken.
Helaas is mijn ervaring dat er al dusdanig veel lekken in safe_mode zijn gevonden dat dit absoluut niet onder de noemer "veilig" kan worden geplaatst.

Ikzelf draai php onder een zelf gepatchte suexec. Dit resulteerd erin dat php onder de user zijn eigen uid draait en dat hij dus niet met scripts in andere users hun webroot kan komen etc. Ideaal dus!
ehj, gillesdebilles,
klinkt interessant enzo maar hoe moeten we dat zien,
of je nou alle php processen als apache draait of als eigen verzonnen user maakt niet zoveel uit.
of spawn je nu voor ieder process een aparte virtual user???

je kan in princiepe wel als php user draaien maar dan heeftie nog steeds de zelfde rechten op elke andere dir met als owner/groep php.

btw,
safe_mode heeft alleen betrekking op server side shell commando's dus ik zie niet helemaal in wat dat uberhaubt met toegang tot iemand anders zijn webroot te maken heeft...

hoe dan ook,
de open_basedir restrictie voorkomt al bv dat een apache(php) user bv /etc/passwd kan lezen, niet dat dat veel uitmaakt als je pam gebruikt maar toch, feit blijft dat je geen zin hebt dat users met apache group rechten een beetje over je server lopen te struinen dmv een simpel php script van niet meer dan 10 regels, of dat nu iemand anders zijn webroot is of system dirs.
iets wat (zover ik weet) bv niet te voorkomen is als je cgi/perl gebruikt... maar wellicht dat jouw suexec methode uit die hoek komt?
safe_mode heeft alleen betrekking op server side shell commando's dus ik zie niet helemaal in wat dat uberhaubt met toegang tot iemand anders zijn webroot te maken heeft.
Volgens mij maak je hier een denk fout.
Als Apache PHP runt als de user "web" in group "web" dan zullen in een virtual hosting omgeving alle users hun php-scripts minstens read rechten moeten geven aan de PHP. Alle scripts van alle users op een server zijn dus leesbaar door de user "web".

Zonder safe_mode (en met wat handigheid dus ook met safe_mode) kun je vanuit je PHP scripts files lezen in je gehele het gehele bestandssysteem, waarbij je alleen beperkt wordt door de normale bestandsrechten. PHP draait als user web en dus kun je bij alle web bestanden, ook die in andere directories en dus in andermans webroot.

Omdat je er (bijvoorbeeld) vaak niet aan ontkomt een verbinding met je database op te bouwen door het password te hardcoden in je php-scripts is dat zeer onwenselijk. suexec lost dit op door PHP niet als user web te runnen maar als de user van welke de files worden opgevraagd (user bepaald door bijv. de virtual host instellingen van Apache). Hierdoor vervalt de eis lees toegang te geven aan een (gedeelde) user.

(hmm, deze uitleg had korter gekund :))
24,1 MB moet zijn: 4,46MB.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True