diff options
author | Thomas Steur <thomas.steur@gmail.com> | 2016-08-29 07:01:46 +0300 |
---|---|---|
committer | Thomas Steur <thomas.steur@gmail.com> | 2016-08-29 07:01:46 +0300 |
commit | 4c9d1274408fb57d5e0b53dcda425dc4892c7b00 (patch) | |
tree | 78b0f24058d586cdd109de0387d43165e112003e /plugins/Installation/ServerFilesGenerator.php | |
parent | 0c9c30b731ccbacf47e154b9f7a590af49e3d799 (diff) | |
parent | 4b395d2385e0041973349c7575fc10378b85558e (diff) |
Merge branch 'master' into 3.0-m06
Conflicts:
.travis.yml
bower.json
core/Notification/Manager.php
core/Updates.php
core/Updates/2.16.2-b2.php
core/Version.php
libs/Zend/Validate/Hostname.php
libs/bower_components/jScrollPane/ajax.html
libs/bower_components/jScrollPane/anchors.html
libs/bower_components/jScrollPane/api.html
libs/bower_components/jScrollPane/arrow_hover.html
libs/bower_components/jScrollPane/arrow_positions.html
libs/bower_components/jScrollPane/arrows.html
libs/bower_components/jScrollPane/auto_reinitialise.html
libs/bower_components/jScrollPane/basic.html
libs/bower_components/jScrollPane/caps.html
libs/bower_components/jScrollPane/changelog.html
libs/bower_components/jScrollPane/destroy.html
libs/bower_components/jScrollPane/drag_size.html
libs/bower_components/jScrollPane/dynamic_content.html
libs/bower_components/jScrollPane/dynamic_height.html
libs/bower_components/jScrollPane/dynamic_width.html
libs/bower_components/jScrollPane/events.html
libs/bower_components/jScrollPane/faqs.html
libs/bower_components/jScrollPane/fixed_width.html
libs/bower_components/jScrollPane/focus.html
libs/bower_components/jScrollPane/fullpage_scroll.html
libs/bower_components/jScrollPane/iframe.html
libs/bower_components/jScrollPane/iframe2.html
libs/bower_components/jScrollPane/iframe_content1.html
libs/bower_components/jScrollPane/iframe_content2.html
libs/bower_components/jScrollPane/image.html
libs/bower_components/jScrollPane/image2.html
libs/bower_components/jScrollPane/index.html
libs/bower_components/jScrollPane/invisibles.html
libs/bower_components/jScrollPane/known_issues.html
libs/bower_components/jScrollPane/less_basic.html
libs/bower_components/jScrollPane/mwheel_intent.html
libs/bower_components/jScrollPane/override_animate.html
libs/bower_components/jScrollPane/runeimp.html
libs/bower_components/jScrollPane/runeimp2.html
libs/bower_components/jScrollPane/scroll_on_left.html
libs/bower_components/jScrollPane/scroll_to.html
libs/bower_components/jScrollPane/scroll_to_animate.html
libs/bower_components/jScrollPane/settings.html
libs/bower_components/jScrollPane/short.html
libs/bower_components/jquery/.bower.json
libs/bower_components/jquery/LICENSE.txt
libs/bower_components/jquery/dist/jquery.js
libs/bower_components/jquery/dist/jquery.min.js
libs/bower_components/jquery/dist/jquery.min.map
libs/bower_components/jquery/sizzle/dist/sizzle.js
libs/bower_components/jquery/src/ajax.js
libs/bower_components/jquery/src/ajax/jsonp.js
libs/bower_components/jquery/src/ajax/load.js
libs/bower_components/jquery/src/ajax/parseJSON.js
libs/bower_components/jquery/src/ajax/parseXML.js
libs/bower_components/jquery/src/ajax/script.js
libs/bower_components/jquery/src/ajax/xhr.js
libs/bower_components/jquery/src/attributes/attr.js
libs/bower_components/jquery/src/attributes/classes.js
libs/bower_components/jquery/src/attributes/prop.js
libs/bower_components/jquery/src/attributes/support.js
libs/bower_components/jquery/src/attributes/val.js
libs/bower_components/jquery/src/callbacks.js
libs/bower_components/jquery/src/core.js
libs/bower_components/jquery/src/core/access.js
libs/bower_components/jquery/src/core/init.js
libs/bower_components/jquery/src/core/parseHTML.js
libs/bower_components/jquery/src/core/ready.js
libs/bower_components/jquery/src/css.js
libs/bower_components/jquery/src/css/curCSS.js
libs/bower_components/jquery/src/css/hiddenVisibleSelectors.js
libs/bower_components/jquery/src/css/support.js
libs/bower_components/jquery/src/css/var/swap.js
libs/bower_components/jquery/src/data.js
libs/bower_components/jquery/src/data/accepts.js
libs/bower_components/jquery/src/deferred.js
libs/bower_components/jquery/src/deprecated.js
libs/bower_components/jquery/src/dimensions.js
libs/bower_components/jquery/src/effects.js
libs/bower_components/jquery/src/effects/Tween.js
libs/bower_components/jquery/src/event.js
libs/bower_components/jquery/src/event/support.js
libs/bower_components/jquery/src/manipulation.js
libs/bower_components/jquery/src/manipulation/support.js
libs/bower_components/jquery/src/offset.js
libs/bower_components/jquery/src/queue.js
libs/bower_components/jquery/src/serialize.js
libs/bower_components/jquery/src/traversing.js
libs/bower_components/jquery/src/traversing/findFilter.js
libs/bower_components/jquery/src/var/concat.js
libs/bower_components/jquery/src/var/indexOf.js
libs/bower_components/jquery/src/var/push.js
libs/bower_components/jquery/src/var/slice.js
libs/bower_components/jquery/src/wrap.js
plugins/API/ProcessedReport.php
plugins/AnonymousPiwikUsageMeasurement
plugins/CoreConsole/Commands/ManagePlugin.php
plugins/CoreHome/javascripts/dataTable.js
plugins/CoreHome/javascripts/manifest.json
plugins/CoreHome/templates/_topBar.twig
plugins/CoreUpdater/templates/updateSuccess.twig
plugins/CustomAlerts
plugins/CustomDimensions
plugins/DevicesDetection/Reports/GetBrowserVersions.php
plugins/DevicesDetection/Reports/GetBrowsers.php
plugins/ExamplePlugin/Updates/0.0.2.php
plugins/Feedback/templates/index.twig
plugins/LogViewer
plugins/Morpheus/stylesheets/general/_forms.less
plugins/Morpheus/templates/layout.twig
plugins/Morpheus/templates/user.twig
plugins/QueuedTracking
plugins/SegmentEditor/stylesheets/segmentation.less
plugins/SitesManager/tests/Integration/ApiTest.php
tests/PHPUnit/Integration/WidgetsListTest.php
tests/PHPUnit/System/expected/test_ManyVisitorsOneWebsiteTest_sortByProcessedMetric__API.getProcessedReport_day.xml
tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_hideColumns___API.getProcessedReport_day.xml
tests/PHPUnit/System/expected/test_OneVisitorTwoVisits_showColumns___API.getProcessedReport_day.xml
tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_csv__ScheduledReports.generateReport_month.original.csv
tests/PHPUnit/System/expected/test_TwoVisitors_twoWebsites_differentDays_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_month.original.html
tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportMetadata_day.xml
tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_csv__ScheduledReports.generateReport_week.original.csv
tests/PHPUnit/System/expected/test_ecommerceOrderWithItems_scheduled_report_in_html_tables_only__ScheduledReports.generateReport_week.original.html
tests/UI/expected-ui-screenshots
tests/UI/specs/SegmentSelectorEditor_spec.js
Diffstat (limited to 'plugins/Installation/ServerFilesGenerator.php')
-rw-r--r-- | plugins/Installation/ServerFilesGenerator.php | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/plugins/Installation/ServerFilesGenerator.php b/plugins/Installation/ServerFilesGenerator.php index c3c56f9a3c..19b7d8e903 100644 --- a/plugins/Installation/ServerFilesGenerator.php +++ b/plugins/Installation/ServerFilesGenerator.php @@ -13,6 +13,17 @@ use Piwik\SettingsServer; class ServerFilesGenerator { + public static function createFilesForSecurity() + { + self::deleteHtAccessFiles(); + self::createHtAccessFiles(); + + self::deleteWebConfigFiles(); + self::createWebConfigFiles(); + + self::createWebRootFiles(); + } + /** * Generate Apache .htaccess files to restrict access * .htaccess files are created on all webservers even Nginx, as sometimes Nginx knows how to handle .htaccess files @@ -64,11 +75,6 @@ class ServerFilesGenerator } } - public static function createHtAccessDenyAll($path) - { - self::createHtAccess($path, $overwrite = false, self::getDenyAllHtaccessContent()); - } - /** * Create .htaccess file in specified directory * @@ -83,6 +89,8 @@ class ServerFilesGenerator protected static function createHtAccess($path, $overwrite = true, $content) { $file = $path . '/.htaccess'; + + $content = "# This file is auto generated by Piwik, do not edit directly\n# Please report any issue or improvement directly to the Piwik team.\n\n" . $content; if ($overwrite || !file_exists($file)) { @file_put_contents($file, $content); } @@ -93,7 +101,7 @@ class ServerFilesGenerator * * Note: for IIS 7 and above */ - public static function createWebConfigFiles() + protected static function createWebConfigFiles() { if (!SettingsServer::isIIS()) { return; @@ -183,7 +191,10 @@ class ServerFilesGenerator '/favicon.ico', ); foreach ($filesToCreate as $file) { - @file_put_contents(PIWIK_DOCUMENT_ROOT . $file, ''); + $path = PIWIK_DOCUMENT_ROOT . $file; + if(!file_exists($path)) { + @file_put_contents($path, ''); + } } } |