Jump to content
GSForum - Segélyvonal

Biztonság a vendégkönyvbe...


ZsoltiD

Recommended Posts

ZsoltiD

Sziasztok!

 

Az elmúlt idõben telepítettem egy vendégykönyvet az oldalunkra, és az a bajom vele, hogy már kb a 20. spam hozzászólást töröltem róla.

Ez azért sem olyan jó, mert fõleg egy ilyen evangélikus oldalon nem nagyon mutat jól egy két viagrás reklám meg hasonlók :D:D.

 

cím: http://pilisievangelikus.hu/guestbook.htm

 

Hogy orvosoljam a problémát?

(Azon kívül, hogy másik vendégköynvet rakjak fel e helyett...:))

 

Üdv.:

ZsoltiD

Link to comment
Share on other sites

ZsoltiD

Találtam rá egy megoldást, de sehogy em sikerült beleillesztenem a php-ba a másikat.

(http://pilisievangelikus.hu/vendegkonyv/sign.php)

Ennek az lenne a szerepe, hogy mikor ír valaki akkor van egy ellenőrző kép amin számok vannak és azt kell leolvasni majd beírni.

 

a vendégkönyv jelenlegi kódja (sign.php):

<?php
$phphg_real_path = "./";
include($phphg_real_path . 'common.php');

$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];

$sql = "SELECT * FROM ".$prefix."_banned WHERE ip='$ip'";
$result = $db->query($sql);

$num = $db->num($result);

if($num > 0) {
    include($phphg_real_path . 'includes/page_header.php');
    $display = "Kitiltottak a Rendszerből. Kérlek lépj kapcsolatba az Admin-nal!";
    $template->getFile(array(
               'error' => 'error.tpl')
    );
    $template->add_vars(array(
                           'L_ERROR' => $lang['error'],
               'DISPLAY' => $display)
    );
    $template->parse("error");
    include($phphg_real_path . 'includes/page_footer.php');
    exit();
} else {
    $sql = "SELECT * FROM ".$prefix."_smilies";
    $result = $db->query($sql);
    
    $smilie_dir = "images/smilies";
    
    $smilie = "";
    $smilie_img = 0;
    
    while($row = $db->fetch($result)) {
          $smilie_code = $row['code'];
          $smilie_url = $row['url'];
          $smilie_name = $row['name'];
          $smilie .= "<a href=\"#\" onClick=\"DoSmilie('" . $smilie_code . "');\"><img src=\"$smilie_dir/$smilie_url\" border=\"0\" title=\"$smilie_name\" alt=\"$smilie_name\"></a> ";
          
          $smilie_img++;
          if($smilie_img == 4) {
         $smilie .= "<br>";
         $smilie_img = 0;
          }
        }
    
    include($phphg_real_path . 'includes/page_header.php');
    $template->getFile(array(
               'sign' => 'sign.tpl')
    );
    $template->add_vars(array(
                           'L_SMILE' => $lang['smilies'],
                           'L_INFO' => $lang['info'],
                           'L_EMAIL' => $lang['email'],
                           'L_NAME' => $lang['names'],
                           'L_WEBSITE' => $lang['website'],
                           'L_MESSAGE' => $lang['message'],
                           'L_LOCATION' => $lang['loc'],

               'SMILIES' => $smilie)
        );
        $template->parse("sign");
        include($phphg_real_path . 'includes/page_footer.php');
}
?>

 

és ezt szeretném valahogy belekreálni (example1.php), pls segítsetek.:

<?
include_once("submitTroughImage.class.php");
$sti = new submitTroughImage();


//check post. Returns null when tot posted...
if($sti->checkPost() === true){
    echo "<h1>Thank you, they mached!</h1>";
}elseif($sti->checkPost() === false){
    echo "<h1>Wrong input! Try again!</h1>";
}


//use this font
$sti->setFont("fonts/DESTROY_.TTF");

//create image
$sti->createImage();

//parse form...
?>

<h2>example 1:</h2>
Real simple<br>
<hr>

<form action=example1.php method=post>
<img src="image.php" border=0><br>
code: <?=$sti->parseStringInput();?> (<a href="example1.php">Can't read code?</a>)<br>
<br><input type=submit>
</form>

<?
//parse errors when there are any...
echo $sti->error();
?>

 

Zsolti

Link to comment
Share on other sites

  • 5 weeks later...
h.arpad

Nem túl sokan értenek PHP-ban az objektum-orientált programozáshoz. Ez még viszonylag új. Ha nem próbálnál ágyúval verébre lõni, lehetne segíteni... :hááát:

Link to comment
Share on other sites

payskin

Miért ne használhatna objektum-orientált kódot? Nyilván nem ő írta, hiszen akkor nem okozna neki gondot a beillesztés sem. Egyébként szerintem még csak igazad sincs, a mostanában általam látott összes nagyobb volumenű PHP-fejlesztés használt objektumokat. Mint például ez a fórum, vagy az a motor, ami a PC World szoftverboltja alatt ketyeg, ami legalább 3 éves! "Viszonylag új"? Szóval, ne szóljuk már le, hogy kit mit hogyan használ. Ha tudunk segítsünk, ha nem tudunk, ne szóljunk hozzá, ok?

Link to comment
Share on other sites

h.arpad

Kezdjük mondjuk ezzel:

include($phphg_real_path . 'common.php');

meg ezzel:

include_once("submitTroughImage.class.php");

Mit is tartalmaz akkor ez a két fájl, csak, hogy segíthessek.:S

összes nagyobb volumenű PHP-fejlesztés

Pl. egy egyszerű vendégkönyv...

OFF:

Mert aztán én szoktam csak úgy, tudatlanul hozzászólni... meg aztán nagyon jellemző is ez a hozzászólásaimra. :S [...*]? :mérges:

[*Utólag moderáltam magam.]

 

Egyébként, ha még nem lenne nyilvánvaló, akkor - a segítő szándék teljes hiánya mellett - megjegyezném, hogy nekem azért nem tetszenek az előre megírt hasonló vendégkönyvek, blogmotorok, stb., mert már készen vannak a spammerek robotjai is, melyeket kifejezetten ezeknek szántak, mivel ezek a legelterjedtebbek. Tehát, nem véletlen az, hogy tízesével-százasával érkeznek a spam-ek.

 

Amiben viszont tudok segíteni: készítettem egy vendégkönyvhöz igen hasonló oldalt, amit kis átalakítással - ugyancsak a segítő szándék teljes hiánya mellett - szívesen át tudok írni és oda tudok adni. Ebben szerepel spam-védelem is.

Link to comment
Share on other sites

payskin

/OFF/

Nem vontam kétségbe sem a hozzáértésedet, sem a segítõ szándékot. Azzal is tisztában vagyok, hogy tök ismeretlen osztálydefiníciókat nyilván nem fog kitalálni magadtól.

 

Ettõl azonban még nem lesz igaz az, hogy nem túl sokan értenek az OOP-hoz, vagy hogy ez egy új dolog volna, és szerintem nem is kéne lebeszélni az embereket arról, hogy ezt használják. A jó válasz tehát nem az, hogy ne használj OOP-t, hanem az, hogy tekintve, hogy nem ismerjük a kód elején include-olt classokat és php állományokat, elég nehéz megmondani, miért nem mûködik. Ez az igazság, nem?

 

Link to comment
Share on other sites

h.arpad

De. (Azzal viszont változatlanul nem értek egyet, hogy nem új dolog, az indoklás itt nagyon off lenne.)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...