Aktualności: C64 Power - online od stycznia 2000 !

Autor Wątek: OT - zlece usprawnienie formularza kontaktowego PHP  (Przeczytany 963 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

SUDi__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« dnia: 03 Lutego 2012, 06:52 »
Jak w temacie, chodzi o przerobke kodu PHP formularza kontaktowego na stronie www, zeby w mejlu przychodzacym z trescia zapytania wyslanego z tegoz formularza byl napisany takze IP komputera wysylajacego zapytanie. Zainteresowanych prosze na priv.



elban__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #1 dnia: 03 Lutego 2012, 13:41 »
wrzuc zrodlo.

to 5 minut roboty, jak Cie ktos za to skasuje, wiec niz dwa piwka to przylep mu post-it na czole z napisem \'kutas\'.

SUDi__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #2 dnia: 03 Lutego 2012, 17:22 »
Postawie nawet 4-pak bez zoltej karteczki na czolo \"Smile\"

Czesc PHP pliku form.php :

if( strlen($_POST[\'meno\'])>0 && strlen($_POST[\'email\'])>0 && strlen($_POST[\'tele\'])>0 && strlen($_POST[\'odkaz\'])>0)
{
$sprava =
\"Osoba: \".$_POST[\'meno\'].\"
Tel.: \".$_POST[\'tele\'].\"
Tekst: \".$_POST[\'odkaz\'].\"  \":

$tema = \"Wiadomosc - od \".$_POST[\'email\']:

mail (\"xxx@xxx.pl\", $tema, $sprava,
     \"From: xxx@xxx.pl\\r\\n\"
    .\"Reply-To: xxx@xxx.pl\\r\\n\"
    .\"Content-Type: text/plain: charset=utf-8\\r\\n\"
    .\"Content-Transfer-Encoding: 8bit\\r\\n\"
    .\"X-Mailer: PHP/\" . phpversion()):

echo \"Dziekujemy za wyslanie formularza.\":
}
else
{
echo \"Niestety, nie mozna wyslac wiadomosci.\":
}
?>

Czesc HTML na stronie z formularzem do wypelnienia :

Formularz


                  

Formularz kontaktowy.
                  
Kontaktowac mozna tez poprzez e-mail na  : :xxx@xxx.pl
                           

Do prawidlowego dzialania, prosze wypelnic wszystkie pola formularza :
                           


                     
                 

                 

                 

                 


                 
                


leming__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #3 dnia: 03 Lutego 2012, 17:46 »
tak na szybcika to daj

                   
Kod:

$ip = getenv(: \"REMOTE_ADDR\" )::
if(: strlen(:$_POST[:\'meno\']:):>0 && strlen(:$_POST[:\'email\']:):>0 && strlen(:$_POST[:\'tele\']:):>0 && strlen(:$_POST[:\'odkaz\']:):>0):
{:
$sprava =
\"Osoba:: \".$_POST[:\'meno\']:.\"
Tel.:: \".$_POST[:\'tele\']:.\"
Tekst:: \".$_POST[:\'odkaz\']:.\"
IP:: $ip \":

$tema = \"Wiadomosc - od \".$_POST[:\'email\']::

mail (:\"xxx@xxx.pl\", $tema, $sprava,
\"From:: xxx@xxx.pl\\r\\n\"
.\"Reply-To:: xxx@xxx.pl\\r\\n\"
.\"Content-Type:: text/plain: charset=utf-8\\r\\n\"
.\"Content-Transfer-Encoding:: 8bit\\r\\n\"
.\"X-Mailer:: PHP/\" . phpversion(:):)::

echo \"Dziekujemy za wyslanie formularza.\":
}:
else
{:
echo \"Niestety, nie mozna wyslac wiadomosci.\":
}:
?>


i bedzie chulac.

SUDi__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #4 dnia: 03 Lutego 2012, 18:28 »
Dzieki Leming, smiga az milo.
To przy okazji troche poglebie temat :
- wysylajacy wiadomosc moze \"ominac\" w jakis sposob wyswietlenie jego IP?
- czy z powodu jakichs zabezpieczen, firewalli itp. po stronie wysylajacego moze sie stac ze nie bedzie mogl wyslac wiadomosc przez ten form?

kmeg__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #5 dnia: 03 Lutego 2012, 18:40 »
                   
SUDi napisal:
moze sie stac ze nie bedzie mogl wyslac wiadomosc przez ten form?


Moze, IP zawsze jakies bedzie ale moze byc troche inne niz rzeczywiste:
- roznego rodzaju proxy
- tunele
- ukrywacze typu TOR i spolka

Form bedzie raczej zawsze dzialal...

elban__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #6 dnia: 03 Lutego 2012, 19:12 »
mozesz troche z ukrywaniem sobie pomoc (ale niewiele), na przyklad tak

zamiast

                   
Kod:
$ip = getenv(: \"REMOTE_ADDR\" )::


daj:

                   
Kod:
$headers = apache_request_headers(:)::
if (:array_key_exists(:\'X-Forwarded-For\', $headers):):{:
 : $ip=$headers[:\'X-Forwarded-For\']: . \' via \' . $_SERVER[:\"REMOTE_ADDR\"]::
}: else {:
 : $ip=$_SERVER[:\"REMOTE_ADDR\"]::
}:


(via net ta funkcja, bo php nie pamietam, nie pisalem od lat w tym, wiec do sprawdzenia)
[/code]

SUDi__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #7 dnia: 03 Lutego 2012, 20:39 »
dzieki elban, bede probowal Twoja opcje...
temat jest dla mnie dosc ciekawy, szczegolnie ze z takich spraw jestem zielony - jakbys mi lopatologicznie wytlumaczyl w czym pomoze ten kodzik? probuje pobrac IP w inny sposob?

elban__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #8 dnia: 03 Lutego 2012, 21:57 »
jezeli w naglowku znajduje sie pole X_FORWARDED_FOR uzyj tego pola plus podaj IP. Czyli jezeli serwer www wykuma, ze ktos korzystal z proxy dostaniesz takie info. jezeli nie dostaniesz samo IP.

getevn i $_SERVER[\'REMOTE_ADDR\'] to z grubsza to samo. Szczegoly poda dokumetnacja php.

SUDi__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #9 dnia: 04 Lutego 2012, 07:08 »
@elban : OK, wyprobowalem Twoj kodzik, dziala rowniez, tzn. wyswietla cos takiego IP : numer.IP numer.IP via numer.IP...
probowalem formularz wyslac normalnie \"bez ukrycia\", a potem przez strony anonimowe proxy (Glype i PHProxy) i w kazdym przypadku wszystkie trzy numery.IP byly takie same (oczywiscie te anonimowe serwery mialy zagraniczne IP, ale wszystkie trzy pokazalo takie same).
Czyli na niewiele sie to zdaje, chyba ze istnieje mozliwosc ze moglbym cos sprobowac wlaczyc jakas opcje w ustawieniach serwera domeny. Za czym mialbym sie rozgladac?

kotrobot__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #10 dnia: 04 Lutego 2012, 08:56 »
Gdyby mozna bylo \"zlamac\" anonimowe proxy, czy tora kilkoma linijkami kodu, to korzystanie z tychze nie mialoby sensu. Odpusc.

elban__

  • Gość
OT - zlece usprawnienie formularza kontaktowego PHP
« Odpowiedź #11 dnia: 04 Lutego 2012, 00:00 »
Tak jak pisze Cresh. Niektore proxy dodadza ten naglowek, inne nie.

Jak chcesz sledzic userow musisz byc cwanszy, ale to i tak bedzie zawsze do obejscia.