3 ms·
If you need to limit the number of items it is trivial. You need to write something like `has_many :things, :before_add => :limit_things` in app server or creat
by yatsyk 7y ago
If you need to limit the number of items it is trivial. You need to write something like `has_many :things, :before_add => :limit_things` in app server or create constraint in sql.
Spam prevention is not trivial but mostly solved problem. You can find a lot of articles about this topic.
But creating secure couchdb looks like very non-trivial.
- Volundr 7y agoYeah... that's a Rails callback, not an SQL constraint, and can't be relied upon in the face of multiple simultaneous requests. Which kind of demonstrates my point. With a custom API, you have to understand your system, it's requirements, and it's limitations. You can't just read a blog post on "securing your webapp" and assume it's good. Couch is no different. You have to understand Couch, you have to understand it's features and limitations, and build your system within those constraints. You seem to be asserting because Couch is designed to be internet connected it can't be secure. If that's true, then I guess every customer on IBM Cloudant (Couch as a service), Realm (another database designed for mobile sync), and Firebase (Google database as a service) are all in trouble and just don't know it yet. Security for all systems is non trivial. Thinking it is assures your system is not secure.
- yatsyk 7y agoI'm not asserting that couch is unsecure, I need such database but the problem that I can't see any resource that could help me design secure production system. You can check even trivial rails blog or todo example from some book and it will be limited in scope but more or less secure. I'm having hard time to find secure couchdb example. > Security for all systems is non trivial. But not equally hard. If you use firebase you should understand that you getting vendor lock-in and in some cases you can spend much more money, but for some types of projects this platform is ok for me. Same with couchdb, I understand that if I get replication with client, I need to pay by reorganising data or may be spend more resources to make system secure. There is no free lunch.
- newfeatureok 7y agoYou are comparing apples to oranges. Again, are you imposing a hard constraint on the number of comments someone can make? With the example o gave you could have a constraint in CouchDB achieve the effect but there are simply other examples one could use.
- yatsyk 7y agoNo I'm not assuming constraint on the number of comments. First example shows how easy limit number created objects. Spam prevention is other topic not so trivial but mostly solved problem.