I created a contribution page to allow new members to sign up. Then I just signed up with the email of an existing member but other info (like a different name, address). As a result: the info of the existing member gets overwritten (name, address) in civicrm. I found out that the profile-setting for duplicate contacts is being ignored for online contribution pages (I don't really understand why ...), but even creating a new Duplicate Contact rule with type Unsupervised (specifying lastname,firstname and email) results in the same behavior. So: is there any way of blocking new members from changing the info for already existing members via a regular contribution-membership page?
The issue was with your dedupe rules as you had not entered weights. You can't leave the weights empty.
Try reading civicrm.org/blog/spidersilk/understanding-civicrm-dedupe-rules or https://docs.civicrm.org/user/en/stable/common-workflows/deduping-and-merging/.
I think the former makes it a bit clearer about weight. But basically you need to have a weight, eg email 2 first 10 last 10; threshold 22, so that it means it must score a match on the email AND the first AND the last
reason for a lower 'score' on the email is that if a contact has 4 emails all of which are the same, then each 'counts' hence if you set email as 10, and first as 10 and last as 10, threshold 30, then the email by itself would score a 40 and hence 'match' even if first and last did not match! hope that helps