Прва радионица за израду Вордпрес тема у 2019 години је одржана у суботу, 19 јануара у новосадском Стартит Центру. У овом термину смо се посветили писању сигурнијег кôда помоћу тзв. escaping функција.
HTML
За једноставне стрингове који садрже само текст се користе esc_html() или esc_textarea(). PHP функција која овде обавља велики део филтрирања је htmlspecialchars().
Уколико очекујемо да стринг садржи и HTML ознаке онда можемо користити wp_kses_post() или wp_kses(). На овај начин ћемо обезбедити основно обликовање без бојазни да ћемо дозволити оне ознаке које могу пореметити распоред елемената на страници или чак направити неку већу штету.
Уколико не знамо шта можемо очекивати у стрингу а желимо да омогућимо обликовање као код садржаја или одломка чланка, можемо користити филтере за садржај, the_content, одн. oдломак, the_excerpt. Одломак ће вратити обликовање као и wp_kses_post() док садржај додаје и могућност правилног обликовања кратких кôдова (shortcode).
Атрибути
За филтрирање атрибута постоји посебна функција, ecs_attr(), која обавља потпуно исту обраду стринга као и esc_html().
URL
Уколико није дефинисан протокол, esc_url() ће га додати у облику “http://” на било који стринг који му је прослеђен. Подразумевани протоколи се могу пронаћи у wp_allowed_protocols(), где се, такође, могу додати и нови путем достпуног филтера.
Веома корисна функција за заштиту од нежељене поште је antispambot(). Она претвара сваки карактер е-поште у HTML ентитет и тиме сакрива од ботова присуство е-поште на страници.
Javascript
Пре свега је важно избегавати тзв “inline Javascript” колико год је то могуће. Уколико, ипак, постоји потреба за оваквом употребом скрипте, онда се препоручује филтрирање помоћу wp_json_encode() у комбинацији са esc_attr(), што се показало као много сигурнија опција од предвиђене esc_js() функције.
Уколико је потребно Javascript датотеци проследити одређене податке из PHP-a, може се користити функција wp_localize_script(). Иако је предвиђена да прослеђује стрингове спремне за локализацију, ова функција се у пракси користи и за прослеђивање свих осталих типова вредности (бројева, булеана итд) који се могу динамички користити у Javascript кôду.
Комплетан код са радионице се може преузети са званичног налога Вордпрес Србија заједнице на Github-u.
У следећем термину ћемо се упознати са функцијама за интернационализацију теме, припремићемо целу тему за локализацију и, уз помоћ Поедита (софтвера за превођење), направити датотеке помоћу којих се врши превод.
Радионице су бесплатне али је потребно пријавити се на Meetup групи Вордпрес Србија заједнице.
Оставите одговор
Жао нам је, да би поставили коментар, морате бити пријављени.