ugrás a tartalomhoz

Biztonsági kód megadása ürlapnál

Designe · 2007. Május. 10. (Cs), 23.17
Sziasztok!

Van egy e-mail küldő modulom ami egy php-nuke alá van betéve és tök jól működik a dolog.
Viszont szeretnék egy Biztonsági kódos megoldást betenni mielőtt elküldi valaki a mailt kivédve különböző robotok meg miegymás spam küldési trükköket.
A köv kódról van szó:
<?php
#### Generated by Module Creator - By Disipal site (www.disipal.net) ####
if (!eregi("modules.php", $PHP_SELF)) {
   die ("You can't access this file directly...");

}

require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
include("header.php");
$index = 1;
OpenTable();
echo"Az al&aacute;bbi ûrlap kit&ouml;lt&eacute;s&eacute;vel &uuml;zenetet k&uuml;ldhet az szamunkra r&eacute;sz&eacute;re &eacute;rdeklõd&eacute;si sz&aacute;nd&eacute;kkal.<br>"
  . "<form action=\"modules.php?name=Erdeklodes&file=elkuldo_kuldo\" method=\"post\">      "
  . "<p><input type=\"hidden\" name=\"mailto\" value=\"mail##kukac##cim.hu\">"
  . "<form name=\"form1\" method=\"post\" style=\"font-family:'Times New Roman';\">"
  . "<p>Adja meg nev&eacute;t: <input type=\"text\" name=\"nev\"></p>"
  . "<p>Adja meg e-mail c&iacute;m&eacute;t: <input type=\"text\" name=\"emailcim\"></p>"
  . "<p>Adja meg telefonsz&aacute;m&aacute;t: <input type=\"text\" name=\"telefonszam\"></p>"
  . "<p>Ide &iacute;rja &uuml;zenet&eacute;t<br><textarea name=\"uzi\" rows=\"10\" cols=\"50\"></textarea></p>"
  . "<p>K&eacute;rj&uuml;k jel&ouml;lje be, hogy milyen form&aacute;ban k&eacute;r vissza jelz&eacute;st:<br>"
  . "E-mail-ben: <select name=\"emailben\" size=\"1\">"
  . "            <option>Igen</option>"
  . "            <option>Nem</option>"
  . "</select>&nbsp;Telefonon: <select name=\"telefon\" size=\"1\">"
  . "            <option>Igen</option>"
  . "            <option>Nem</option>"
  . "</select>";
    global $gfx_chk;
   mt_srand ((double)microtime()*1000000);
   $maxran = 1000000;
   $random_num = mt_rand(0, $maxran);
if (extension_loaded("gd") AND ($gfx_chk == 3 OR $gfx_chk == 4 OR $gfx_chk == 6 OR $gfx_chk == 7)) {
   echo "<tr><td>"._SECURITYCODE.":</td><td><img src='?gfx=gfx&random_num=$random_num' border='1' alt='"._SECURITYCODE."' title='"._SECURITYCODE."'></td></tr>\n"
       ."<tr><td>"._TYPESECCODE.":</td><td><input type=\"text\" NAME=\"gfx_check\" SIZE=\"7\" MAXLENGTH=\"6\"></td></tr>\n"
       ."<input type=\"hidden\" name=\"random_num\" value=\"$random_num\">\n";
}
echo "<tr><td colspan='2'>\n"
   ."<input type=\"hidden\" name=\"op\" value=\"new user\">\n"
  ."<p><input type=\"submit\" value=\"Beküldés\" name=\"Beküldés\">"
  . "</form>";
CloseTable();
include("footer.php");
?>

A kódot szépen megjeleníti és újat is generál frissítéskor.
De nem tudom egyszerűen rá venni arra, hogy vissza dobjon ha hibás kódot írok be.
ha jól tippelem a randum_num -ot kellene nekem le ellenőriztetni esetleg azt a gfx_check-et.
És gondolom vmi function randum_num(($gfx_check) { akármivel kéne leellenőriznem de sehogy se megy.

Ha valaki meg tudja ezt nekem mondani, hogy hogyan is kéne azt meg köszönném!

Üdv.
 
1

Chapta

janoszen · 2007. Május. 11. (P), 20.56
Arra keress rá, hogy 'Chapta'. Egy képet kell kigenerálni és megjeleníteni. Neten van egy pár példakód. Ha nem akarsz sokat szívni, tegyél bele egy olyan kérdést, hogy mi az ég színe: 'kék' 'piros'.
2

captcha

tothmate · 2007. Május. 12. (Szo), 00.55
"captcha" - én így próbálnám
3

Re

Designe · 2007. Május. 12. (Szo), 10.05
Köszönöm!

Találtam egy a php stúdio oldalán remélem műxik ha nem jövök újra!:)
4

hm

Designe · 2007. Május. 12. (Szo), 13.19
Nos!
A kövképpen sikerült megoldani a problémát
<?php
#### Generated by Module Creator - By Disipal site (www.disipal.net) ####
if (!eregi("modules.php", $PHP_SELF)) {
   die ("You can't access this file directly...");

}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
include("header.php");
$index = 0;
OpenTable();
$hova = "modules.php?name=Erdeklodes&file=erno_kuld";

session_start();


if($_POST['rand'] != NULL)
{

    $kod = $_SESSION['r1'].$_SESSION['r2'].$_SESSION['r3'].$_SESSION['r4'].$_SESSION['r5'];
   
    //ha már beirtuk a kódot, és helyes, akkor átirányit
    if($kod == $_POST['rand'])
    {
$_SESSION['b'] = 1;
      header("Location: $hova");
    }else{
      //helytelen kód esetén hibaüzenet
      $hiba = "Helytelen kód!";
    }

}

include("rand.php");

$_SESSION['r1'] = $tomb[$arand1];
$_SESSION['r2'] = $tomb[$arand2];
$_SESSION['r3'] = $tomb[$arand3];
$_SESSION['r4'] = $tomb[$arand4];
$_SESSION['r5'] = $tomb[$arand5];
print $hiba;
echo"Az al&aacute;bbi ûrlap kit&ouml;lt&eacute;s&eacute;vel &uuml;zenetet k&uuml;ldhet az Aqua-med Vend&eacute;gh&aacute;z r&eacute;sz&eacute;re &eacute;rdeklõd&eacute;si sz&aacute;nd&eacute;kkal.<br>"
  . "<form action=\"modules.php?name=Erdeklodes&file=erno\" method=\"post\">      "
  . "<form name=\"form1\" method=\"post\" style=\"font-family:'Times New Roman';\">"
  . "<p>Adja meg nev&eacute;t: <input type=\"text\" name=\"nev\"></p>"
  . "<p>Adja meg e-mail c&iacute;m&eacute;t: <input type=\"text\" name=\"emailcim\"></p>"
  . "<p>Adja meg telefonsz&aacute;m&aacute;t: <input type=\"text\" name=\"telefonszam\"></p>"
  . "<p>Ide &iacute;rja &uuml;zenet&eacute;t<br><textarea name=\"uzi\" rows=\"10\" cols=\"50\"></textarea></p>"
  . "<p>K&eacute;rj&uuml;k jel&ouml;lje be, hogy milyen form&aacute;ban k&eacute;r vissza jelz&eacute;st:<br>"
  . "E-mail-ben: <select name=\"emailben\" size=\"1\">"
  . "            <option>Igen</option>"
  . "            <option>Nem</option>"
  . "</select>&nbsp;Telefonon: <select name=\"telefon\" size=\"1\">"
  . "            <option>Igen</option>"
  . "            <option>Nem</option>"
  . "</select>"
  . "</p>"
  . "Ide írd a képen látható kódot:<br>"
  . "<input name=\"rand\" type=\"text\" size=\"10\"><br>"
  . "<img src=\"kod.php\" alt=\"kód\">"
  . "    <p><input type=\"submit\" value=\"Beküldés\" name=\"Beküldés\"> &nbsp;&nbsp;<input type=\"reset\" value=\"Törlés\" name=\"Törlés\">"
  . "</form>";
  CloseTable();
include("footer.php");

?>


A probléma csak az, hogy amikor elküldi a mailt akkor teljesen üresen érkezik meg.
Több féle variációt kipróbáltam de nem jöttem rá...
Amit letölttem scriptet abban volt egy tovabb.php ami le ellenörzi, hogy helyes volt-e a kód azt is beraktam abba a file-be ami kiküldi a mailt.
5

Re: a mail teljesen üresen érkezik meg

reptile27 · 2007. Május. 14. (H), 05.58
Előre szólok, hogy nem teszteltem a kódodat, mert nem is tudnám ebben a felállásban, csak úgy ránézésre mondom...
A problémát, észrevételeim szerint a /// header("Location: $hova"); /// jelenti, de javítsatok ki, ha tévedek. Ugyanis ezzel csak azt érted el, hogy a form által küldött változók értékei, most az örök búzamezőkön kaszálgatnak. :)

Én elsőként letesztelném, hogy megkapja-e-é a mail küldő file a form értékeit:

$_POST['nev'];
$_POST['emailcím'];
$_POST['telefonszam'];
$_POST['uzi'];
stb...

de szerintem nem
persze lehet, hogy tévedek! Csekkold! ;-)
6

Re: a mail teljesen üresen érkezik meg

reptile27 · 2007. Május. 14. (H), 06.01
Előre szólok, hogy nem teszteltem a kódodat, mert nem is tudnám ebben a felállásban, csak úgy ránézésre mondom...
A problémát, észrevételeim szerint a /// header("Location: $hova"); /// jelenti, de javítsatok ki, ha tévedek. Ugyanis ezzel csak azt érted el, hogy a form által küldött változók értékei, most az örök búzamezőkön kaszálgatnak. :)

Én elsőként letesztelném, hogy megkapja-e-é a mail küldő file a form értékeit:

$_POST['nev'];
$_POST['emailcím'];
$_POST['telefonszam'];
$_POST['uzi'];
stb...

de szerintem nem
persze lehet, hogy tévedek! Csekkold! ;-)
7

RE

Designe · 2007. Május. 14. (H), 17.25
Ez küldi el a hozzám a mailt.
8

RE

Designe · 2007. Május. 14. (H), 17.26
Kipróbáltam de akkor sem történik semmi.
Ez a kód küldené el elvileg:
echo"<p>K&ouml;sz&ouml;nj&uuml;k, hogy Oldalunkat v&aacute;lasztotta!</p>"
  . "<p>Az al&aacute;bbi adatokkal elk&uuml;ldt&uuml;k &uuml;zenet&eacute;t a magam R&eacute;sz&eacute;re:</p>";
$cimzett = "mail##kukac##cim.hu";
$targy = "Nekem - Érdeklődés";
$uzenet = "

Név: $nev\n
E-mail: $emailcim\n
Telefonszám: $telefonszam\n
Üznet: $uzi\n
Értesítést kér E-mailben:$emailben\n
Értesítést kér Telefonon:$telefon\n

";

mail( $cimzett, $targy, $uzenet, "From: $emailcim\r" );
print "Az ön neve: $nev<br>";
print "Az ön e-mail címe: $emailcim<br>";
print "Az ön Telefonszáma: $telefonszam<br>";
print "Az ön Üzenete: $uzi<br>";
9

Re: kiprobáltam, de akkor sem...

reptile27 · 2007. Május. 15. (K), 01.34
Másol ki légyszives ide ennek a kódnak a kimenetét! Hadd látom már mit ír ki neked, ha elküldesz egy üzit!

Leginkább erre lennék kiváncsi "????" hogy ahova a kérdőjeleket raktam ott mit ír ki neked az oldalra?

Az ön neve: ????
Az ön e-mail címe: ????
Az ön Telefonszáma: ????
Az ön Üzenete: ????

Megj.: a kérdőjelek helyén ha nem ír ki semmit, akkor télleg nem mennek át a váltózók értékei


Ebben az esetben PROBAKÉPPEN cseréld le a $hova változó értékét az alábbiakra és nézd meg akkor mi történik:


$hova = "modules.php?name=Erdeklodes&file=erno_kuld&nev=".$_POST[nev]."&emailcim=".$_POST[emailcim]."&telefonszam=".$_POST[telefonszam]."&uzi=".$_POST[uzi]."&emailben=".$_POST[emailben]."&telefon=".$_POST[telefon]."";


ez nem a legmegfelelőbb megoldás, de legalább kiderül, hogy igy müxik-e a dolog... és ha igen akkor sem ártana meg reguláznod a kódjaidat, mert elég kesze-kusza (persze ezt nem bántásképp mondom) ;-)
10

wow

Designe · 2007. Május. 15. (K), 16.24
Nem akarok kötöszködni meg mit tom én de ez most így olyan jól sikerült, hogy 3szor is megkapom a mailt szépen benne vannak az adatok is.Tehát a kód jó.
Nem veszem bántásnak tudom, hogy naon kis szerencsétlen:)

Amúgy eddig nem írt ki semmit a print-es dolog amikor elküldtem.Most igen.
11

Nem vágom miért 3x

reptile27 · 2007. Május. 15. (K), 17.46
Probáld ki ezt!


<?php
#### Generated by Module Creator - By Disipal site (www.disipal.net) ####
if (!eregi("modules.php", $PHP_SELF)) {
die ("You can't access this file directly...");

}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
include("header.php");
$index = 0;
OpenTable();

session_start();


if($_POST['rand'] != NULL)
{

$kod = $_SESSION['r1'].$_SESSION['r2'].$_SESSION['r3'].$_SESSION['r4'].$_SESSION['r5'];

//ha már beirtuk a kódot, és helyes, akkor átirányit
if($kod == $_POST['rand'])
{
$_SESSION['b'] = 1;
$formcheck = "ok";


echo"<p>K&ouml;sz&ouml;nj&uuml;k, hogy Oldalunkat v&aacute;lasztotta!</p>"
. "<p>Az al&aacute;bbi adatokkal elk&uuml;ldt&uuml;k &uuml;zenet&eacute;t a magam R&eacute;sz&eacute;re:</p>";
$cimzett = "mail##kukac##cim.hu";
$targy = "Nekem - Érdeklődés";
$uzenet = "

Név: $nev\n
E-mail: $emailcim\n
Telefonszám: $telefonszam\n
Üznet: $uzi\n
Értesítést kér E-mailben:$emailben\n
Értesítést kér Telefonon:$telefon\n

";

mail( $cimzett, $targy, $uzenet, "From: $emailcim\r" );

}else{
//helytelen kód esetén hibaüzenet
$hiba = "Helytelen kód!";
}

}

if ($formcheck <> "ok"){

include("rand.php");

$_SESSION['r1'] = $tomb[$arand1];
$_SESSION['r2'] = $tomb[$arand2];
$_SESSION['r3'] = $tomb[$arand3];
$_SESSION['r4'] = $tomb[$arand4];
$_SESSION['r5'] = $tomb[$arand5];
print $hiba;

echo"Az al&aacute;bbi urlap kit&ouml;lt&eacute;s&eacute;vel &uuml;zenetet k&uuml;ldhet az Aqua-med Vend&eacute;gh&aacute;z r&eacute;sz&eacute;re &eacute;rdeklod&eacute;si sz&aacute;nd&eacute;kkal.<br>"
. "<form action=\"modules.php?name=Erdeklodes&file=erno\" method=\"post\"> "
. "<form name=\"form1\" method=\"post\" style=\"font-family:'Times New Roman';\">"
. "<p>Adja meg nev&eacute;t: <input type=\"text\" name=\"nev\"></p>"
. "<p>Adja meg e-mail c&iacute;m&eacute;t: <input type=\"text\" name=\"emailcim\"></p>"
. "<p>Adja meg telefonsz&aacute;m&aacute;t: <input type=\"text\" name=\"telefonszam\"></p>"
. "<p>Ide &iacute;rja &uuml;zenet&eacute;t<br><textarea name=\"uzi\" rows=\"10\" cols=\"50\"></textarea></p>"
. "<p>K&eacute;rj&uuml;k jel&ouml;lje be, hogy milyen form&aacute;ban k&eacute;r vissza jelz&eacute;st:<br>"
. "E-mail-ben: <select name=\"emailben\" size=\"1\">"
. " <option>Igen</option>"
. " <option>Nem</option>"
. "</select>&nbsp;Telefonon: <select name=\"telefon\" size=\"1\">"
. " <option>Igen</option>"
. " <option>Nem</option>"
. "</select>"
. "</p>"
. "Ide írd a képen látható kódot:<br>"
. "<input name=\"rand\" type=\"text\" size=\"10\"><br>"
. "<img src=\"kod.php\" alt=\"kód\">"
. " <p><input type=\"submit\" value=\"Beküldés\" name=\"Beküldés\"> &nbsp;&nbsp;<input type=\"reset\" value=\"Törlés\" name=\"Törlés\">"
. "</form>";

}

CloseTable();
include("footer.php");

?>
12

Zsír

Designe · 2007. Május. 15. (K), 20.59
Ez tökéletes lett köszönöm!
Nem is gondoltam rá, hogy egybe rakjam a kettőt.
Hiába nem vagyok profi
13

Még 1 dolog

Designe · 2007. Május. 18. (P), 10.32
A chechk boxoknál mivel lehet definiálni, hogy ha be van pipálva akkor az emilben ne on legyen hanem pl Igen?!
15

átírod

gex · 2007. Május. 18. (P), 10.44

<?php
$uzenet = "
...
Értesítést kér E-mailben: " . (isset($_POST["emailben"]) ? 'Igen' : 'Nem') . "\n
...
";
?>
egyébként meg: http://weblabor.hu/forumok/temak/16829
14

Még 1 dolog

Designe · 2007. Május. 18. (P), 10.36
A chechk boxoknál mivel lehet definiálni, hogy ha be van pipálva akkor az emilben ne on legyen hanem pl Igen?!