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 , , 15 reacties
Bron: PHP, submitter: LuCarD

Een dag na de release van PHP 5.1.2 hebben de ontwikkelaars van de hypertext preprocessor een nieuwe versie van de 4.4-tak uitgebracht, te weten 4.4.2. PHP is een zogenoemde hypertext preprocessor en wordt voornamelijk gebruikt om dynamische content in de opmaaktaal HTML serverside te genereren. De software wordt veelal gebruikt in combinatie met het databaseprogramma MySQL, waarmee de dynamische content van websites en forums worden geserveerd. De nieuwe 4.4.2-uitvoering wordt geleverd met een groot aantal veranderingen. De belangrijkste aanpassingen zijn hieronder opgesomd:

This is a bug fix release, which addresses some security problems too. The major points that this release corrects are:
  • Prevent header injection by limiting each header to a single line.
  • Possible XSS inside error reporting functionality.
  • Missing safe_mode/open_basedir checks into cURL extension.
  • Apache 2 regression with sub-request handling on non-Linux systems.
  • key() and current() regression related to references.
[break]
Een stukje PHP-code
Een stukje PHP-code
Moderatie-faq Wijzig weergave

Reacties (15)

Dat opgelap van de safe_mode is echt een drama. Het is een rare implementatie van een veiligheidsconcept en gelukkig hebben de PHP ontwikkelaars voor PHP6 besloten dat safe-mode geschrapt gaat worden
Zolang er in apache niet in een su mechanisme is voorzien voor modules als php is een dergelijke oplossing nog helemaal zo gek niet...

Als je weet hoe je het moet configgen kun je er redelijk goede resultaten mee bereiken.
suExec met FastCGI is nagenoeg net zo snel als integratie met Apache en je krijgt er een stuk extra veiligheid mee. Bij een hostingboer draait zo'n setup nu inmiddels een jaar, safemode staat gewoon uit.
Safemode is nagenoeg overbodig met suExec, omdat je klanten van elkaar af kunt schermen met filesystem rechten.

@Olaf:
Daarvoor heb je idd mod_fastcgi nodig. Een andere oplossing is suPHP, maar dat presteert gewoon uitermate bagger: dat is gewoon een wrappertje om suExec heen die automatisch PHP in CGI mode uitvoert.
Ik weet niet hoe het met de thread-safety van mod_fastcgi zit, maar ik neem aan dat je met mod_fastcgi, in tegenstelling tot PHP, zelfs de threaded versies van Apache moet kunnen gebruiken.

Zelf gebruik ik mod_fastcgi bij een hostingboer waar zowel PHP4 als PHP5 aangeboden wordt op 1 webserver. Klanten kunnen voor een hele VHost hun php handler regelen, of dmv .htaccess bestandjes voor een directory of een bepaald bestand. Zie dat maar eens voorelkaar te krijgen met mod_php.
Helaas heeft Apache2 standaard geen FastCGI support en heb je daar extra modules voor nodig.
Het is wel handig te vermelden dat open_basedir gewoon blijft bestaan, wat eigenlijk de meest gewilde feature is en vaak wordt gelinked met de safe_mode zoals hij nu in PHP bestaat. :)
Net als troep zoals magic_quotes. :)
Heb ik nu verkeerd geupgrade ? |:(
file_get_contents crasht hiero, en op mn server krijg ik een timeout.
Apache 1.3.34, PHP 4.4.2, Zend Optimizer 2.5, Windows XP Pro Fully Patched
Met 4.4.1 had ik dit niet.
Heeft iemand anders dit ook?

Edit: Lokaal bestanden openen gaat zonder problemen, alleen extern webpagina's ermee 'inlezen' gaat fout.
wat zegt de error_log van die vhost?
Ik neem aan dat je doelt op: 'Apache Group\Apache\logs\error.log' ?
Laatste wat ik daarin kan vinden is: 'Failed loading C:\Program Files\Zend\Optimizer\lib\ZendExtensionManager.dll', maar ook met de zend optimizer uninstalled crashttie nog steeds. Mocht je een remote log bedoelen, die beheer ik niet.

Voorbeeld:

<?php
echo file_get_contents('http://www.tweakers.net/');
?>

Crasht :r
En ja, allow_url_fopen = On ;)
Aha, > http://bugs.php.net/bug.php?id=36054
Ligt het dus toch niet aan mij.
als je dan toch een code post, doe het dan wel op de mooiste manier:

<?php
echo 'Welkom ' . $user . ' op mijn coole pagina!';
?>

[php][/php] werkt niet :'(
Over de mooiste manier valt te discussieren ;)

Even uit de losse pols hoor:

<?php
require('libs/smarty.php');
$smarty->assign('username', $user);
$smarty->display('mypage.tpl');
?>

Het MVC design pattern is lang zo gek nog niet :)

En anders zou mijn persoonlijke voorkeur het volgende zijn:

<?php
echo "Welkom $user op mijn coole pagina!";
?>
Het snelste is nog altijd:
?>
Welkom <?=$user?> op mijn coole pagina!
<?php

Er moet echter wel opgepast worden voor XSS enzo:

?>
Welkom <?=htmlentities($user)?> op mijn coole pagina!
<?php
omdat ik "-quotes 'ranzig' vind; het kost waarschijnlijk nog meer parsetijd, omdat de $ en \$ \r \n e.d. nog verwerkt moeten worden :? maargoed, puntkomma op het einde staat altijd netjes ookal is het niet nodig omdat het het laatste stukje code voor de ?> is :P

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