How to write secure applications with Eliom

Eliom and Ocsigen server are taking in charge a lot of security issues automatically. This unburdens the programmer from having to think about most of security problems. This page details various possible designs flaws of web applications, how Eliom and Ocsigen server (possibly) protects you against a possible exploitation of these flaws, and where you should be careful. Please help us maintaining this page, by sending us any comments.

The application only does client-side verification

This is probably the biggest (and most dangerous) possible mistake. As the user has an entire control over the data sent to the server, never assume that the data sent by the client has been verified (even if there some checking function in Javascript or O'Browser). Instead, reimplement all verifications server side.

However, note that incorrect data will never crash the server.

Incorrect access controls

This typically happens if authentication is badly implemented, or altogether missing in some places.

Code injection

Path traversal

Session fixation

Cross-site scripting (XSS)

Cross site tracing

Redirection attacks

Header injection

On-site request forgery

Cross-site request forgery (XSRF)

Denial of service