{"id":170,"date":"2014-03-28T08:18:43","date_gmt":"2014-03-28T08:18:43","guid":{"rendered":"http:\/\/thomas.goirand.fr\/blog\/?p=170"},"modified":"2014-03-28T08:18:43","modified_gmt":"2014-03-28T08:18:43","slug":"wordpress-auto-updates-stupidity","status":"publish","type":"post","link":"http:\/\/thomas.goirand.fr\/blog\/?p=170","title":{"rendered":"WordPress auto-updates stupidity"},"content":{"rendered":"<p>Out of laziness, like many, I use WordPress for this blog. I did try others, but was disappointed (after my blog got hacked a few times), so I just use that.<\/p>\n<p>WordPress has a long history of security issues. So upstream decided to preform automatic updates. This would have been a good thing if &#8230; automatic update didn&#8217;t completely mess my blog each and every single time.<\/p>\n<p>On my hosting system, PHP scripts have to be chmod +x to be executed. Otherwise, there&#8217;s a error, and Apache wont execute the PHP script. The same way, an error will happen if a directory is world writable (eg: chmod 777). This is in order to prevent some of the most common hacks: a hacker finds a way to upload a PHP script (often via a &#8220;feature&#8221; of the hosted software), and then uses the uploaded script to do nasty things (like installing phishing sites, send spam, you name it&#8230;). Checking on these basic unix rights prevents uploaded scripts to be executed, and it&#8217;s normally a way harder for hackers to find a way to chmod the PHP scripts than it is to just upload it.<\/p>\n<p>Unfortunately, WordPress, on each upgrade, is resetting these unix rights. Someone got to explain to me the reason why it absolutely needs to chmod 777 the hosted folders, and why it wouldn&#8217;t keep the chmod +x on the php scripts. Direct result? My blog often gets completely broken by these automated updates. And I didn&#8217;t find a way to disable them (if someone knows, please send me a quick email).<\/p>\n<p>I have reported the bug upstream: https:\/\/core.trac.wordpress.org\/ticket\/27568<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Out of laziness, like many, I use WordPress for this blog. I did try others, but was disappointed (after my blog got hacked a few times), so I just use that. WordPress has a long history of security issues. So upstream decided to preform automatic updates. This would have been a good thing if &#8230; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/170"}],"collection":[{"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=170"}],"version-history":[{"count":2,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/170\/revisions"}],"predecessor-version":[{"id":172,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=\/wp\/v2\/posts\/170\/revisions\/172"}],"wp:attachment":[{"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=170"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/thomas.goirand.fr\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}