Just like what Bob Ray said; whatever link there is to edit a page can be made visible (available) only to the owner of the resource. And that link can't just be typed up in the address bar...it just does not exist on its own.
Use his NewsPublisher; this wonderful Extra has an edit button that edits resources by linking directly to its own NewsPublisher resource.
This method is for Frontend clients who are not to go deep into permissions stuff and whatever, and who are never to see the light of day in the Manager.
1. Create one User-Group, throw all the writers in that group
2. Create one Resource-Group, place a parent resource in there
3. Give the User-Group editorial access to the resource group
4. Set NewsPublisher to create under that parent resource
5. In the template of that parent resource which is shared by the children, place this
[[!Profile]]
[[!If?
&subject=`[[+username]]`
&operator=`EQ`
&operand=`[[*createdby:userinfo=`username`]]`
&then=`[[!NpEditThisButton? &np_id=`387`]]`
&else=``]]
From #4, they'll be able to create resources within that parent resource you specified, but not delete theirs or edit another person's resource. They only will be able to edit their own very document.