Gå til innhold

redirekte uten å bruke javascript


Anbefalte innlegg

Videoannonse
Annonse
Jeg regner med at du ikke bruker noe så idiotisk som en selectboks med emailadressene angitt som de to mulighetene?

nope. feltet som inneholder mailadressene er skjult og mailadressene er delt i to deler som "settes sammen" i scriptet...

Det er da ikke noen vits i å dele e-postadressen opp i biter. Den ligger fremdeles tilgjengelig, og det er neppe så vanskelig å finne ut av hvordan den skal settes sammen.

 

Slik kan det vel muligens gjøres:

<select name="email">
<option value="1">Til meg</option>
<option value="2">Til Per</option>
</select>

<?php
switch($_POST['email']) {
 case '1' : $email = '[email protected]'; break;
 case '2' : $email = '[email protected]'; break;
 default: $email = false; break;
}
if($email) {
 mail($email);
} else {
 echo 'Nupe, din tulling.';
}
?>

For eksempel..

Ved mindre jeg har bommet saftig på hva du mener.

Endret av PT
Lenke til kommentar
Du overbeviser meg ennå ikke.

tror jeg forklarte meg litt dårlig... så prøver å forklare litt bedre. ingen av de to mailadressene som en kan sende mail til vises i klartekst i scriptet. for å prøve å hindre at adressene hentes rett ut fra scriptet har jeg gjort slik:

 

//Dette prøver å sikre mailadressene
$web_master = "webmaster";
$mesa = "navn";
$site = "site";
$at = "@";
$top = ".no";

if ($_GET['addy'] == 'webmaster') $mail_to = $web_master . $at . $site . $top;
else $mail_to = $mesa . $at . $site . $top;

 

når det gjelder feltet som inneholder adressen er den slik:

echo("<TD><INPUT type=hidden SIZE=\"30\" NAME=\"mail_to\" value=\"$mail_to\" disabled></TD>"); ?>

 

så nå at en kan se mailadressen ved hjelp av view source... noen forslag for å hindre dette? det er vel bedre å ha delen som sender selve mailen og skjemaet som blir fylt ut i to forskjellige filer...

Lenke til kommentar
Det er da ikke noen vits i å dele e-postadressen opp i biter. Den ligger fremdeles tilgjengelig, og det er neppe så vanskelig å finne ut av hvordan den skal settes sammen.

fordelen med å dele opp adressen blir jo å gjøre det vannskeligere for spiders og lignende å "høste" mailadresser fra scriptet..... (mulig jeg bruker feil ord her, men tror dere skjønner hva jeg mener...)

Lenke til kommentar
fordelen med å dele opp adressen blir jo å gjøre det vannskeligere for spiders og lignende å "høste" mailadresser fra scriptet..... (mulig jeg bruker feil ord her, men tror dere skjønner hva jeg mener...)

Så vidt jeg vet kan vel ikke slike spiders lese innholdet i skriptet ditt. De leser htmlkoden som vises når siden lastes. Dermed så ligger vel e-postadressen din i klartekst for alle som vil ha den

Endret av PT
Lenke til kommentar
fordelen med å dele opp adressen blir jo å gjøre det vannskeligere for spiders og lignende å "høste" mailadresser fra scriptet..... (mulig jeg bruker feil ord her, men tror dere skjønner hva jeg mener...)

Så vidt jeg vet kan vel ikke slike spiders lese innholdet i skriptet ditt. De leser htmlkoden som vises når siden lastes. Dermed så ligger vel e-postadressen din i klartekst for alle som vil ha den

trodde de leste kildekoden jeg.. men mulig jeg tar feil...

Lenke til kommentar

Nope. Serveren behandler PHP-koden din, og spytter ut det du måtte ønske av HTML-kode. Ingen har mulighet til å lese PHP-koden, bortsett fra ved serverkrasj og lignende situasjoner der det er mulighet for at serveren ikke tolker PHP-filen som en PHP-fil men sender ut hele greien i klartekst.

Rett meg noen om jeg tar feil.

Lenke til kommentar

Hvis du ikke passer på, kan noen sette inn en header i skjemaet ditt - da kan de sende mail til andre adresser enn din vha. skjemaet. Du kan lete etter en slik header med noe sånt som:

 

<?php
if(eregi("MIME-Version: ",$_POST['field1'].$_POST['feild2'].$_POST['etc'])){die('Get out, spammer.');}
?>

Lenke til kommentar
Hvis du ikke passer på, kan noen sette inn en header i skjemaet ditt - da kan de sende mail til andre adresser enn din vha. skjemaet. Du kan lete etter en slik header med noe sånt som:

 

<?php
if(eregi("MIME-Version: ",$_POST['field1'].$_POST['feild2'].$_POST['etc'])){die('Get out, spammer.');}
?>

Hva mener du med dette? Hva er en header i et skjema?

Lenke til kommentar
trodde de leste kildekoden jeg.. men mulig jeg tar feil...

Mulig du likevel har skriptet ditt sikkert nok, men så dukket det brått opp andre graverende sikkerhetsmangler ;)

 

Kontrollspørsmål:

*) view source på din php side, ser du phpkode?

*) vet du hva en webspider er? vet du hva disse er kapable til?

 

EDIT: spørsmålene er ikke retoriske. Og jeg mener ikke å være krass. Svar gjerne, eller forsøk, eller spør hvis du lurer på svaret. Sikkert også andre som er nysgjerrige.

Endret av Torbjørn
Lenke til kommentar
Nope. Serveren behandler PHP-koden din, og spytter ut det du måtte ønske av HTML-kode. Ingen har mulighet til å lese PHP-koden, bortsett fra ved serverkrasj og lignende situasjoner der det er mulighet for at serveren ikke tolker PHP-filen som en PHP-fil men sender ut hele greien i klartekst.

Rett meg noen om jeg tar feil.

Du tar ikke feil

 

Hvis koden vises vil den ikke kjøres, og følgelig vil det heller ikke sendes email.

 

å vise for all verden at <option value="email1">dinadresse@somewhere</option> er hvordan du kobler emailadresser er ingen sikkerhetsrisiko.

Lenke til kommentar
trodde de leste kildekoden jeg.. men mulig jeg tar feil...

Mulig du likevel har skriptet ditt sikkert nok, men så dukket det brått opp andre graverende sikkerhetsmangler ;)

 

Kontrollspørsmål:

*) view source på din php side, ser du phpkode?

*) vet du hva en webspider er? vet du hva disse er kapable til?

 

EDIT: spørsmålene er ikke retoriske. Og jeg mener ikke å være krass. Svar gjerne, eller forsøk, eller spør hvis du lurer på svaret. Sikkert også andre som er nysgjerrige.

*) Det viser kun html-kode (og noe javascript) i view source

*) med sjanse for å bomme: et program/script som går igjennom nettsider på jakt etter mailadresser....

Lenke til kommentar
echo("<TD><INPUT type=hidden SIZE=\"30\" NAME=\"mail_to\" value=\"$mail_to\" disabled></TD>"); ?>

et <input>-felt som er DISABLEd sendes aldri inn av browseren. sjekk selv. sjekk hvor du bruker dette inputfeltet, og spør deg selv hvilken praktisk nytte det har (svaret du vil komme til er "ingen"), du oppnår bare å vise for allverden hvilke adresser mailen går til (uten at allverden har mulighet til å endre denne, med mindre du faktisk bruker $_POST['mail_to'] til noe.

Lenke til kommentar
trodde de leste kildekoden jeg.. men mulig jeg tar feil...

Mulig du likevel har skriptet ditt sikkert nok, men så dukket det brått opp andre graverende sikkerhetsmangler ;)

 

Kontrollspørsmål:

*) view source på din php side, ser du phpkode?

*) vet du hva en webspider er? vet du hva disse er kapable til?

 

EDIT: spørsmålene er ikke retoriske. Og jeg mener ikke å være krass. Svar gjerne, eller forsøk, eller spør hvis du lurer på svaret. Sikkert også andre som er nysgjerrige.

*) Det viser kun html-kode (og noe javascript) i view source

*) med sjanse for å bomme: et program/script som går igjennom nettsider på jakt etter mailadresser....

Riktig, svaret jeg var ute etter på nr 2, var en automatisert browser (så ja, et skript), poenget mitt var at det ikke kan få til noe mer enn en besøker med sin browser, hva kjøring av phpkode eller visning av html angår.

Lenke til kommentar
echo("<TD><INPUT type=hidden SIZE=\"30\" NAME=\"mail_to\" value=\"$mail_to\" disabled></TD>"); ?>

et <input>-felt som er DISABLEd sendes aldri inn av browseren. sjekk selv. sjekk hvor du bruker dette inputfeltet, og spør deg selv hvilken praktisk nytte det har (svaret du vil komme til er "ingen"), du oppnår bare å vise for allverden hvilke adresser mailen går til (uten at allverden har mulighet til å endre denne, med mindre du faktisk bruker $_POST['mail_to'] til noe.

det er vel egentlig streng tatt unødvendig at der er slik det er nå.. fjerner jeg det skjulte feltet så vil jo mailadressen "skjules" i scriptet uten at det er synlig i views source....

Lenke til kommentar

Hvem er det egentlig du viser adressen for? ;)

 

PT foreslår en meget fornuftig løsning, du legger inn tallene 1 og 2 i dine 2 options, og sjekker så verdien av <select> boksen du får inn. har den verdien "1" velges en emailadresse (som aldri kommer fra htmlform), har den verdien "2", velges en annen adresse. Og disse adressene, som angis i phpkoden, vil selvsagt aldri være i nærheten å hverken vises for besøkeren eller å kunne tukles med av besøkeren.

 

EDIT: Ellers bra at du legger fram saken slik du gjør, du virker som en fornuftig fyr (også fra andre poster av deg) som et i kort øyeblikk hadde litt for mange puslebiter på en gang :)

Endret av Torbjørn
Lenke til kommentar

Et lite eksempel:

Skjemaet:

 

<select name="email">

<option value="1">Til meg</option>

<option value="2">Til Per</option>

</select>

 

<?php

 

if($_GET/POST['email'] == 1)

{

$email = "emailen til meg";

}

else

{

$email = "emailen til Per";

};

 

?>

 

Er jeg i nærheten av noe folkens??

Endret av vi er lost
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...