Want to improve开发者_开发问答 this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this questionI want to build a web-based information management application for a client. The application will be used to store passwords and critical documents online.
I want to know:
(1) Which language/framework to go with: PHP or Ruby on Rails (RoR) or any other?
(2) What type of hosting for good-security, Linux or Windows? Any other thing to be included?
(3) Suggest open-source but bug-free crypto libraries for PHP & RoR.
(4) I am planning PostgreSQL database. Any suggestions?
(5) Any other security considerations.
As far as a crypto library for Ruby, I've had good results with the EzCrypto Gem. It wraps the Ruby OpenSSL library and makes it easy to do symmetric encryption. The challenge is less about doing the encryption and more about where and how to store your keys (as you mention in your question).
- whatever are you most comfortable with
- linux is probably better. yes. various
- php cryptography extensions
- couchDB
- don't trust nobody and nothing
For a super safe application try to do it OFFLINE.
Not being an PHP expert I'm pretty sure you would be fine going either way. Choose the tools, OS and db you are most skilled in and then focus on the implementation.
Security is hard. Make sure to have an expert review you solution.
In answer to 5)
I'd suggest reading this PDF which is OWASP's Top Ten Application Security Risk.
Also OSVDB is a pretty good site for finding upto date security issues in released products.
Here's the link for Postgres issues
http://osvdb.org/search?search[vuln_title]=postgres&search[text_type]=alltext
精彩评论