För att inte hittas på sökmotorer:
robots.txt.
Men det skyddar inte mot robotar som söker webben efter epostadresser att skicka SPAM till. De kommer heller inte att skicka någon referer-sträng, så att kolla efter det skyddar inte.
Du skulle kunna ha en speciell GET-parameter i adressen, och skriva webside-koden på servern att kontaktinformation kommer med på sidan endast om den parametern är med.
Det skulle kanske inte passa att knappa in en komplicerad URL från ett visitkort, men det spelar ingen roll för en QR-kod.
Men efter att användaren kommit till din sida så kommer parametrarna att finnas i adressraden, så det är möjligt att de kopierar raden och delar den.
Jag brainstormar några olika möjliga lösningar:
- Svara med HTTP 302 "Moved Temporarily" redirect till ett script som lämnar kontaktinformation under en begränsad tid. Adressen som fanns i QR-koden kommer användaren aldrig att se. Den nya adressen har ny parameter: en timestamp med aktuell tid. Om tiden är för gammal, kommer kontaktinformation inte med på sidan. Om du är riktigt hård skulle du kunna kryptografiskt signera timestamp'en (skicka med timestamp och signature och verifiera båda)
- Lägga parametern i en kaka och använda Javascript för att ladda en adress utan parametern. Server-scriptet visar kontaktinformation om kakan finns. Dock kräver detta att Javascript är påslaget, och dessutom kommer adressen med parametern att finnas med i webläsar-historiken.
- Ha "laddat om" genom att i Javascript skicka en POST-request till websidan istället, så att parametern är en POST-parameter och inte i adressraden. Men detta skulle också kräva Javascript påslaget, och kanske inte ens funkar i nutida webläsare. Den gamla adressen skulle nog finnas med i historiken också. Ingen kaka, men skulle gå att ladda om.
Självklart ska logiken för att visa dina kontaktuppgifter ligga i kod som kör på servern. Man ska inte kunna se kontaktuppgifterna genom att "Visa källkod".
Annars är det vanligt att kontaktuppgifter läggs i en bild istället eller att de hämtas från servern först efter att användaren tryckt en knapp (och ev. löst en Captcha), men då skulle de vara tillgängliga för alla besökare: bara krångliga för robotar.