Jak zabezpieczyć się przez Email Injection używając funkcji mail()?

Każdą zmienną, którą zamierzasz używać w skrypcie wysyłającym email a która została przesłana przez użytkownika wyczyść używając funkcji wyczysc() $_POST['email'] = wyczysc($_POST['email']); function wyczysc($str) { $injections = array('/(\n+)/i', '/(\r+)/i', '/(\t+)/i', '/(%0A+)/i', '/(%0D+)/i', '/(%08+)/i', '/(%09+)/i'); $str= preg_replace($injections,'',$str); return $str; } (...)

Jak zabezpieczyć się przed bardzo długimi wyrazami?

Poniższa funkcja wstawi spację do każdego wyrazu dłuższego niż 40 znaków po 40-stym znaku co zabezpieczy nas przez długimi wyrazami rozpychającymi strukturę strony // zastosowanie $tekst=formatuj_tekst($tekst,40); function formatuj_tekst($text,$nr){ $mytext=explode(' ',trim($text)); $newtext=array(); foreach($mytext as $k=>$txt){ if (strlen($txt)>$nr){ $txt=wordwrap($txt, $nr, ' ', 1); } $newtext[]=$txt; } return implode(' ',$newtext); } (...)

Jak zabezpieczyć dołączane pliki (include,require) przed nieuprawnionym dostępem?

Najprostszym sposobem jest umieszczenie w każdym dołączanym pliku następującej linijki: defined('STALA_KONTROLNA') or die(); Powyższa instrukcja spowoduje sprawdzenie czy stała istnieje jeśli nie skrypt zakończy działanie. Stałą należy zdefiniować w pliku który będzie „rodzicem” dla dołączanych plikó za pomocą instrukcji include, require, include_once, require_once: define('STALA_KONTROLNA', true); Próba uruchomienia skryptu z poza głównego pliku zakończy się niepowodzeniem (...)

Jak zabezpieczyć dane przesyłane do skryptu?

Poniższy przykład usuwa znaczniki dla każdej zmiennej przesłanej metodą GET. Oczywiście to bardzo prosty przykład który należy poszerzyć o znaki specjalne, znaczniki JavaScript i przeprowadzić na tablicy POST i COOKIE w zależności od zapotrzebowania skryptu foreach ($_GET as $Value => $Key) { $Key = strip_tags($Key); $_GET[$Value] = $Key; } (...)

Jak wyświetlić, zacytowac kod Java Script na stronie?

Poniższa funkcja zwraca wprowadzony tekst $stringw postaci wyświetlanej na stronie www function js_specialchars( $string = '') { $string = preg_replace("/\r*\n/","\\n",$string); $string = preg_replace("/\//","\\\/",$string); $string = preg_replace("/\"/","\\\"",$string); $string = preg_replace("/'/"," ",$string); return $string; } (...)

Jak wyświetlić zawartość pliku bez znaczników html?

Jeśli chcesz wyświetlić zawartość pliku html bez jego znaczników użyj poniższej funkcji: <? $file = fopen($filename, 'r'); $search = array('/<\?((?!\?>).)*\?>/s'); $text = fread($file, filesize($filename)); $new = strip_tags(preg_replace($search, '', $text)); echo $new; fclose($file); ?> (...)

Jak wyświetlić tytuł emaila po polsku?

Ustawienia SYSTEM LOCALE dla daty: <? setlocale(LC_TIME, 'pl_PL.utf8'); echo ucfirst(strftime("%A, %e %B %Y", time())); ?> i ustawienia dla wysyłanego maila funkcją mail() <? mb_internal_encoding('UTF-8'); $tytul = 'Tytuł emaila żźąśćŁ'; $tytul = mb_encode_mimeheader($tytul, 'UTF-8', "Q"); $headers = "MIME-Versin: 1.0\r\n" $headers .= "Content-type: text/plain; charset=UTF-8;\r\n" $headers .= "Content-Transfer-Encoding: 8bit\r\n"; mail('adres@email.pl', $tytul, 'ąśżźćŁ', $headers); ?> (...)