Wpisy oznaczone tagiem css
30 dobrych praktyk dla początkujących z HTML i CSS
Masz, może się czegoś w końcu nauczysz ;-)
Seksowne przyciski w CSS
Bardzo ładny i szybki tutorial jak zrobić ładne buttony przy pomocy samego CSS’a.
Jak zrobić przyjazne wyszukiwarkom logo?
Zazwyczaj na stronach jest jakiś element, który możemy nazwać logiem. Idealnie dla wyszukiwarki jak będzie to tekst umieszczony w znaczniku h1. Tekst jest jednak mało atrakcyjny wizualnie jeśli chodzi o logo, zaś grafika mało atrakcyjna dla bota wyszukiwarek. Istnieje jednak ciekawe rozwiązanie przy użyciu CSS.
Logo umieszczamy w takim kodzie:
<h1><a href="http://4coders.info">dla programistów</a></h1>
Do tego dorzucamy CSS:
h1 { text-decoration:none; border:0; width : 200px; height : 100px; margin : 0; padding : 0; background : url(logo.jpg) no-repeat 0 0; } h1 a { display : block; height : 100px; text-indent : -9999px; }
Co się stanie?
- jak to zadziała bez CSS to wiadomo, widać
- z CSS, h1 otrzyma w tle nasze logo z pliku logo.jpg (wysokość i szerokość h1 ustawiamy na wysokość i szerokość loga)
- tekst w kotwicy przesuwamy gdzieś w „nieskończoność”
Można sobie sprawdzić jak to zadziała w przeglądarce, która obsługuje CSS oraz np. w przeglądarce links (lub bez kodu CSS). Generalnie, enduser będzie zadowolony bo widzi ładne logo, a google bot nakarmiony tekstem …
Cross-site scripting – bezpieczeństwo formularzy
Napisany przez coder w PHP, Programming dnia Grudzień 18, 2008
Cross-site scripting (XSS lub inaczej CSS), to jak wiadomo taki rodzaj ataku na serwisy WWW, najczęściej przez źle walidowane formularze i najczęściej przez wstrzykiwany przez nie kod JavaScript.
Pokażę dziś jak można łatwo zabezpieczyć swoje formularze. Wystarczy kilka prostych wierszy kodu i po problemie. Najważniejsze jest aby całą tablicę $_POST umieć łatwo wyczyścić. Pokaże jak to zrobić rekurencyjnie.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | class Common() { public static function TidyString($str) { $str = stripslashes($str); $str = htmlspecialchars($str); return $str; } public static function TidyArray(&$array) { foreach((array)$array as $key => $value) { if( !is_array($value) ) { $array[$key] = Common::TidyString($value); } else { $array[$key] = Common::TidyArray($value); } } return $array; } } |
W naszej klasie Common, widzimy dwie proste metody, TidyArray() oraz TidyString(). TidyArray() działa rekurencyjnie, obiega elementy tablicy i jeśli wartość nie jest tablicą to ją czyści poprzez TidyString(), jeśli element jest tablicą to wywołujemy naszą metodę rekurencyjnie na danym fragmencie tablicy. Wartości tablicy przekazujemy metodzie przez referencje.
Mając taka klasę możemy umieścić takie wywołanie gdzieś np. w pliku konfiguracyjnym naszej aplikacji.
1 | $_POST = Common::TidyArray($_POST); |
Należy pamiętać, że nasza metoda TidyString() posiada podstawowe funkcje „czyszczące”, można sobie ją dowolnie rozszerzyć np. dodać funkcję strip_tags(). Dodam jeszcze, że należy być ostrożnym przy filtrowaniu danych po serializacji.