Email na webu – ochrana před spamem

Pakliže potřebujete na svůj web vložit kontaktní e-mail a zároveň nechcete dostávat otravný spam, je tu pro. Váš skript, kteřý zakóduje a následně rozkóduje Vaši e-malovou adresu. Je to jednoduché:<?php 

<?php
function antispam($email, $jmeno){ $return = "<script type=\"text/javascript\">
<!--\ndocument.write('<a href=\"' + 'mailto:' + '"; for($i=0;$i<strlen($email);$i++){ $code .= $email{$i}=='@' ? "' + '&#".ord("@")."' + '" : "&#".ord($email{$i}).";"; } $return .= $code."' + '\">' + '".$jmeno."' + '<\/a>');\n--></script>"; RETURN $return; }

echo(antispam("tvuj@e-mail.cz","zobrazený text")); ?>

 

Stačí na posledním řádku zaměnit tvuj@e-mail.cz za Váš e-mail. Pak jen zaměnit zobrazený text za text, který chcete zobrazit. Tento skript automaticky vloží zavináč a mailto: do adresy, čímž e-mail znepřístupní robotům.

Kalkulačka v PHP – jednoduché sčítání

Sháníte na Váš web nějakou kalkukačku? Tady přikládám kód, myslím, že pro začátečníky v PHP je srozumitelný 😉 Parametry se předávají pomocí URL adresy v GET

Živá ukázka

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>hm_get.php</title>
<meta charset="utf-8">
</head>
<body>
<form>
Zadej hodnoty:<br>
1 číslo:<input type="text" name="a"><br>
2 číslo:<input type="text" name="b"><br>
<input type="submit" value="Sečti!">
</form>

<?php
$a=$_GET["a"] ;
$b=$_GET["b"] ;
if($a&&$b){
$soucet=$a+$b;
echo "Výsledek: $soucet <br>";
echo "Celý zápis: $a + $b = $soucet ";
}
?>
</body>
</html>

Přejmenování databáze s nadefinovanými views nelze provést

Pokud člověk potřebuje přejmenovat databázi a má nadefinované views, tak přejmenování např. v Admineru selže (právě kvůli těm views, protože pomocí RENAME TABLE se sice view dá přejmenovat, ale jen v rámci jedné databáze). 
Kdyby se to někdy někomu hodilo (jako mně dneska), tady je na to utilitka: http://projekty.vize.name/renameDb.zip (záloha na MůjSkript.cz zde)

Funguje takto: 
– vytvoří databázi s novým jménem 
– přesune do ní normální tabulky 
– views zkopíruje do nové DB 
Stará databáze zůstane včetně views. Dá se to spustit nasucho, kdy se jen vypíší SQL dotazy, které by se provedly. Neumí to zkopírovat nadefinované procedury, možná někdy příště.

Napsané to je pro PHP 5.4, je potřeba si přilinkovat dibi (buď uložit dibi.min.php do stejné složky, anebo se dají ve skriptu nastavit nějaké výchozí hodnoty včetně cesty k dibi). Kód je výsledkem postupu „rychle naprasit aby to fungovalo a nebylo s tím moc práce“ a „trochu to pak uklidit, aby se neřeklo“, tak to podle toho berte.

 

Autor: Tori

Zdroj: http://diskuse.jakpsatweb.cz/?action=vthread&forum=18&topic=158559#4

MiniBB – spamová ochrana proti robotům

Do souboru main_post_form.html vložit např. za </textarea> skript:

<span id=“spamprotirobotum>Ochrana proti spamu. Napište prosím číslici čtyři: <input type=“text name=“robot value=“ id=“protirobotum><input type=“hidden name=“kontrolni value=“ok></span> <script> /* tento skript vloží do příslušného políčka */ document.getElementById(protirobotum).value=4; document.getElementById(spamprotirobotum).style.display = none; </script>

××××××××××

Teď se provede test, jestli je hodnota robot=4. Do souboru index.php, např. hned za úvodní poznámku, vložit skript:

 

if (($_POST[kontrolni]==ok)&&($_POST[robot]!=4)) die (Neoprávněný přístup.);

××××××××××

Tento skript by měl zajistit, že pokud došlo k odeslání příspěvku ($_POST[‚kontrolni‘]==’ok‘), který odeslal robot, který neumí javascript a teda neví, že proměnná robot se má = 4 ($_POST[‚robot‘]!=’4′), dojde k ukončení skriptu s hláškou. Místo die (‚Neoprávněný přístup.‘) se dá použít i jiné ukončení, exit(); – bez hlášky, ta je robotu stejně ukradená, nebo třeba přesměrování na úvodní stránku…

ZDROJ: http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=37086

AUTOR SKRIPTU: Hoonza – nezaregistrované DJPW ID

{jcomments on}