Jag har kodat en gästbok i ASP där ett fält som kan kan fylla i vid postning är hemsida. Problemet är att alla inte skriver http:// framför webbadressen. Det gör att länken till personens hemsida blir http://www.minadress.se/www.postarenshemsida.se.
Lägger jag http:// som förifyllt värde i formuläret så kommer det att visas en hemsidelänk även om postaren inte har någon hemsida. Därför har jag tänkt att man i ASP-koden borde kunna kolla om Request.Form("hemsida") inleds med http:// Om det inte är så så läggs det till innan det sparas i databasen. Är det möjligt?
(Min sträng är understruken för att förtydliga.)
Denna kod visar bara en alert-ruta när man drar musen över den, men det går att göra långt mer elaka saker.
Med HTMLEncode skrivs det istället ut som
Fast borde man inte använda Server.UrlEncode på adressen?
Nej. Den funktionen encodar http:// till http%3A%2F%2F vilket blir tokfel i detta fall. Däremot är UrlEncode utmärkt för att skicka med en URL (eller annan data med förbjudna tecken) som parameter till en querystring, typ: