I have a serious problem. When I give a visitors group edit permissions on a list, they have permission to edit all pages associated with that list, such as adding/removing web parts from the views. I need them to be able to add and edit items in the list but I also need them not to be able to permanently break the list by doing something like deleting the web part from editform.aspx
Create a custom permission level that is a copy of the Read permission group. Alter this copy by ticking the Add Items option. Then give the Visitor group this permission level. It will allow them to read all content and add items to the lists, but not edit or delete anything.