Exemple #1
0
 private static function notifyIfURLIsNotSecure()
 {
     $isURLSecure = ProxyHttp::isHttps();
     if ($isURLSecure) {
         return;
     }
     if (!Piwik::hasUserSuperUserAccess()) {
         return;
     }
     if (Url::isLocalHost(Url::getCurrentHost())) {
         return;
     }
     $message = Piwik::translate('General_CurrentlyUsingUnsecureHttp');
     $message .= " ";
     $message .= Piwik::translate('General_ReadThisToLearnMore', array('<a rel="noreferrer" target="_blank" href="https://piwik.org/faq/how-to/faq_91/">', '</a>'));
     $notification = new Notification($message);
     $notification->context = Notification::CONTEXT_WARNING;
     $notification->raw = true;
     Notification\Manager::notify('ControllerAdmin_HttpIsUsed', $notification);
 }
Exemple #2
0
 /**
  * @param array $url
  * @return bool
  */
 protected function isHostDefinedAndNotLocal($url)
 {
     return isset($url['host']) && !Url::isLocalHost($url['host']);
 }
Exemple #3
0
 /**
  * Returns Proxy to use for connecting via HTTP to given URL
  *
  * @param string $url
  * @return array
  */
 private static function getProxyConfiguration($url)
 {
     $hostname = UrlHelper::getHostFromUrl($url);
     if (Url::isLocalHost($hostname)) {
         return array(null, null, null, null);
     }
     // proxy configuration
     $proxyHost = Config::getInstance()->proxy['host'];
     $proxyPort = Config::getInstance()->proxy['port'];
     $proxyUser = Config::getInstance()->proxy['username'];
     $proxyPassword = Config::getInstance()->proxy['password'];
     return array($proxyHost, $proxyPort, $proxyUser, $proxyPassword);
 }
Exemple #4
0
 /**
  * Returns the URL to this Piwik instance, eg. **http://demo.piwik.org/** or **http://example.org/piwik/**.
  *
  * @return string
  * @api
  */
 public static function getPiwikUrl()
 {
     $url = Option::get(self::OPTION_PIWIK_URL);
     $isPiwikCoreDispatching = defined('PIWIK_ENABLE_DISPATCH') && PIWIK_ENABLE_DISPATCH;
     if (Common::isPhpCliMode() || SettingsServer::isArchivePhpTriggered() || !$isPiwikCoreDispatching) {
         return $url;
     }
     $currentUrl = Common::sanitizeInputValue(Url::getCurrentUrlWithoutFileName());
     // when script is called from /misc/cron/archive.php, Piwik URL is /index.php
     $currentUrl = str_replace("/misc/cron", "", $currentUrl);
     if (empty($url) || $currentUrl != $url) {
         $host = Url::getHostFromUrl($url);
         if (strlen($currentUrl) >= strlen('http://a/') && !Url::isLocalHost($host)) {
             self::overwritePiwikUrl($currentUrl);
         }
         $url = $currentUrl;
     }
     if (ProxyHttp::isHttps()) {
         $url = str_replace("http://", "https://", $url);
     }
     return $url;
 }
Exemple #5
0
 /**
  * @dataProvider getIsLocalHost
  */
 public function test_isLocalHost($expectedIsLocal, $host)
 {
     $this->assertSame($expectedIsLocal, Url::isLocalHost($host));
 }