It’s rather strange for me reviewing Web Application Security - A Beginner's Guide given that I've written a book on the same topic, but as I know one of the authors, Bryan Sullivan and McGraw Hill offered me a copy for review it seems rather churlish not to.
Bryan and Vincent Liu have produced a book which is technology agnostic, covering web security via principles rather than sample code. It is a complete beginner’s book, suitable for a developer who has never thought about security before or for a manager to try to figure out just what the heck their developers are talking about and why they want to spend some extra development time locking something down.
As the book is principle based it’s easy to read through, each chapter does contain a lot of information about the topic under discussion – for example the authorization chapter covers not just where to authorize but types of permissions, controls, client side attacks, exploits, session management and SSL. The book doesn’t stay just on the server application, it reaches out to browser security, database security, file server security and how to build security into your processes and development cycle.
This isn’t a book a developer can use to solve their problems, rather it’s a book that should send them off to learn more about their specific languages or frameworks. The advice contained inside is practical though and provides checklists for readers to use to ensure they’re thinking in the right way. You’ll end up knowing what the problems are and how to solve them in theory, but to learn how to solve them in practice for your system is left as an exercise for the reader. This isn’t a bad thing at all, when you hunt down and figure out the solution on your own, or research further with other books or resources the resulting solution may stick with you for longer, rather than just having the code given to you on a plate.
If you’re a developer than already knows some of the risks you may be better off with a book targeted at your area of expertise. If you haven’t thought about security yet, or even better, you’re a student who is just starting out on web application development then this book is for you. Frankly I’d like to ram it into the brain of every student currently doing any development courses at university, the knowledge gained would save us all a lot of trouble in a few years time.