C64Power Forum

Market => Bazar => Wątek zaczęty przez: SUDi__ w 03 Lutego 2012, 06:52

Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: SUDi__ w 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.
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: elban__ w 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\'.
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: SUDi__ w 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 :
                           


                     


                 

                 

                 

                 


                 
                

Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: leming__ w 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.
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: SUDi__ w 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?
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: kmeg__ w 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...
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: elban__ w 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]
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: SUDi__ w 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?
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: elban__ w 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.
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: SUDi__ w 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?
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: kotrobot__ w 04 Lutego 2012, 08:56
Gdyby mozna bylo \"zlamac\" anonimowe proxy, czy tora kilkoma linijkami kodu, to korzystanie z tychze nie mialoby sensu. Odpusc.
Tytuł: OT - zlece usprawnienie formularza kontaktowego PHP
Wiadomość wysłana przez: elban__ w 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.