If in a web app, let's say an app that has a table with stored street address (Strings), the admin of the app will be adding data often to grow his archive.
The table (MySQL) has a primary key with AUTO_INC
.
The web app allows the users to add addresses themselves. Once a user enters an address say X, ALL of the users of the application will be able to see the address X when searching for available addresses.
What if, since address is a string, a user stores inappropriate content(like bad words, for example)? This might offend some users and push them to stop using the app.
So I was thinking of what would be better:
- Storing user input in a separate table ("pending input"), until the admin approves them and then they're moved the official table?
- Or store the inputs in same table of the admin's inputs table, but put a temporary flag on each entered record (by the users) so that they are only visible to that user until the admin approves them?
On a side note, is it logical to limit each user to have a specific amount of input addresses per day that they can add (some spammers might fill the table with thousands of useless records)?