-
Notifications
You must be signed in to change notification settings - Fork 71
Securing Seaside Applications
You have to find a session tracking strategy that matches your requirements. If none of the existing ones fit the bill you can implement your own. Be aware that anything based on URLs allows users to copy and paste links to other users who get the same session.
We recommend you use the default WAQueryFieldHandlerTrackingStrategy
plus a (signed or encrypted) cookie for authentication. That way users can have multiple independent sessions open in different tabs and you are not vulnerable to users copy and pasting links.
We recommend you use TLS and a front end web server like Apache HTTP or nginx that does TLS termination. From a performance point of view we also recommend you serve static resources through the front end web server. If the front end web server is on the same server bind only the loopback interface if possible. Follow the best practices for configuring that server and TLS.
We strongly recommend you do not deploy any development tools. This includes the Seaside-Development and Seaside-Welcome packages. We also recommend against deploying Seaside-Tools-Web, if you need them make sure they are protected by strong passwords or better. If possible we recommend you remove the compiler from your production images. We also recommend you do not deploy any tests.
If you are using Seaside components and are not parsing URLs you should not have to do anything to protect yourself against XSS and XSRF. For more information see Security Features
If you're using Seaside-REST from a browser/JavaScript context you need a way to protect yourself against XSRF
Refer to the document of your database access technology on how to protect yourself against SQL injection.
Changelogs
- (newer changelogs, see https://github.com/SeasideSt/Seaside/releases)
- 3.4.0
- 3.3.0
- 3.2.4
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.11
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 2.8
- 2.7
- Past Releases
Development
Documentation
- Configuration and Preferences
- Embedding Subcomponents
- Maintaining State
- Generating HTML
- CSS and Javascript
- Debugging Seaside Applications
- Links, Forms and Callbacks
- Development Tools
- Call and Answer
- Naming URLs
- Security Features
- Securing Seaside Applications
- Seaside-REST
- Add-On Libraries
- Persistence
- Gettext
- FileLibrary
- The Render Tree
- PDF Generation
- Long-Term Issues
- Ajaxification
- Web Components
- Big Issues
Sprints