@mattab opened this Issue on September 6th 2010 Member

Piwik should work nicely when loaded in https (SSL).

It would be nice to have an option to force SSL login, so that login data is always sent encrypted.

Maybe we should, if possible, check that SSL actually works at all, to prevent non ssl compatible setups to set this to true which would then prevent logins.

Note: this is similar to wordpress wp-config hack FORCE_SSL_LOGIN

@robocoder commented on September 9th 2010 Contributor

Propose also settings the Strict Transport Security header per the IETF draft.

@robocoder commented on October 26th 2010 Contributor

FireSheep is making news. I think we can implement this for 1.1.

@robocoder commented on October 26th 2010 Contributor

Strict Transport Security is a wontfix (out-of-scope):

  • in a reverse proxy, we may not be able to tell if the user is using http or not, so we can't blindly force a redirect
  • the sts field is only sent in the header of a https response; this doesn't allow for auto-discovery
  • the policy applies at the domain level (not url); piwik may not be the only app hosted on this domain/subdomain
@robocoder commented on October 27th 2010 Contributor

(In [3266]) fixes #1677 - added General force_ssl_login setting to global.ini.php (defaults to 0, disabled); this applies to login, lost password, and reset password forms

I opted to implement this as a config file option (instead of via General Settings), as it ensures the sysadmin has file access to change the setting, in the event the secure login doesn't work (e.g., no virtual host listening to port 443).

There are two aspects to the patch in order to handle reverse proxies:

  • checkForceSslLogin() - performs a server-side redirect if the connection isn't secure
  • header.tpl - performs a client-side redirect if the connection isn't secure
@mattab commented on December 23rd 2010 Member

added faq:

How do I force Piwik login to use SSL (https)?. Let me know if any feedback.

This Issue was closed on December 23rd 2010
Powered by GitHub Issue Mirror