wordpress, de verwerking van de gegevens en de verificatie,,,,,,,,, wordpress 11 47 aandelen,,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen, de veiligheid, de juiste is. Is de sleutel om je website of je betreft of de veiligheid van de gebruikers van plug - ins.Een deel van de reden ligt in een goede gezondheid en validering van de gegevens.In dit artikel, we moeten kijken naar de redenen waarom het belangrijk is en wat er gedaan moet worden, welke functie, wordpress helpen.,, omdat er verschillende interpretaties van wat "of", "escape" en "en" bedoel ik dan, ik bedoel de man van dit artikel:,, - deze is te functioneren om ervoor te zorgen dat de gegevens controleren, wat ben je aan het doen, dat zou het moeten zijn.Bijvoorbeeld, een e - mail lijkt me een e - mail, een datum is de datum en het nummer (of een acteur) bedragen, ontsmetting /ontsnappen, - - die is toegepast op de gegevens die in de specifieke context van de filters.Bijvoorbeeld, in de tekst moet vervangen door gelijkwaardige entiteit alle: //europa.eu.int /comm /Volksgezondheid: //europa.eu.int /comm /waarom dat belangrijk?Wanneer gegevens worden opgenomen in een context (bijvoorbeeld in een http: //europa.eu.int) - gegevens kan worden opgevat als een soort code (bijvoorbeeld milieu http: //europa.eu.int).Als de gegevens bevat, kwaadwillige code, de gegevens en het gebruik van de niet - sterilisatie, betekent dat de code zal worden uitgevoerd.De code is niet eens een kwaadaardige, dat zal leiden tot ongewenste effecten.Dit werk is om ervoor te zorgen dat de ontsmetting van een code in de gegevens niet worden uitgelegd als een code - of je kan eindigen als Bobby tabel school...,,, bijvoorbeeld: ECHO nul vullen (70,4); ///////print 0070, e - mail, e - mail, de doeltreffendheid van de is_email wordpress, (), functioneren.Het gebruik van deze functie is inspecties uit om na te gaan of het adres.Het zou bijvoorbeeld controles @ ", die een lengte van meer dan 3 tekens, gebieden met alfa cijfers en streepjes, enzovoort.Natuurlijk, het is niet of e - mailadres werkelijk bestaat.Als de e - mail adres door de inspectie is terug, anders terug. Is_email dollar, per e - mail = (@ e ^ voldoende. COM "); ///////e - mail vals is.In de e - mail = is_email (@ bijvoorbeeld. COM "); ///////- instellingen als" voorbeeld van een dollar ". COM"http: //europa.eu.int, normaal zou je een hoop alleen toegestaanhttp: //europa.eu.int in uw gegevens – bijvoorbeeld op de hoogte van uw website opmerkingen.Je geeft een familie vormen, de functie wp_kses_ *, (KSE, slechte SCRIPT).Om deze functie (een groep van de http: //europa.eu.int), kan worden gebruikt om ervoor te zorgen dat de banden van de gegevens van de overeenkomst aangewezen.Bijvoorbeeld, wp_kses (), de functie om drie parameters:,, de inhoud, de - - de (...) inhoud filtreren door allowed_html kse,,, - - elke sleutel is een van de elementen en kenmerken toegestaan: //europa.eu.int /comm /van de waarde van de dollar, is toegestaan, allowed_protocols - - facultatief.De overeenkomst toegestaan (bijvoorbeeld http link,,,,,,, Hallo, wp_kses (), enz.), is een zeer flexibel, kan je de schrapping van onnodige etikettering of op het etiket van de eigendom, overbodig is.Natuurlijk, alleen maken, < strong> of, < a>, labels (maar alleen mogelijk te maken het niet mogelijk de href eigenschap:, "$inhoud = < ze > Click< /em> < a title='click voor wp.tuts+'href='http://wp.tutsplus.com'> here< /a> om een bezoek te brengen aan het strong> <; wptuts+ < /strong>"; de ECHO wp_kses ($inhoud, de installatie ('strong'=> - (), => "; - ('href'))); de http: //europa.eu.int ///////afdrukken" klik < a href='http://wp.tutsplus.com'> here< /a> om een bezoek te brengen aan het strong> <; wptuts+ < /strong> ": de klik < a: /http://wp.tutsplus.com" > here< /a> om een bezoek te brengen aan het strong> <; wptuts+ < /strong>, natuurlijk, specifying heeft toegestaan - en iedereen die een laborious kan worden toegestaan de taak.Dus, wordpress die andere functies, kan je gebruiken, wp_kses - etikettering en de overeenkomst toegestaan, namelijk gebruikt om na te gaan of de posten en opmerkingen:,,,,,, wp_kses_data () (), wp_kses_post,,, die helpen om ervoor te zorgen dat de gebruikers in de elementen bevat: //europa.eu.int /comm /ontvangen.Als we dat hebben, en we willen ook ervoor te zorgen dat elk etiket zijn evenwicht, dat wil zeggen dat elk etiket is voorzien van een passende etikettering.Dus we kunnen gebruiken, balancetags ().Deze functie accepts twee arguments:,, de inhoud, de inhoud van een filter en – te spelen van een,, kracht, – waar of vals, of om de balancing werking van labels,, ///////inhoud met missing waar < /strong> - $inhoud = "< ze > Click< /em> < a href='http://wp.tutsplus.com'> here< /a> aan de < strong> wptuts+"; de ECHO balanceTags ($inhoud, waar)http: //europa.eu.int ///////afdrukken van de "klik < a href='http://wp.tutsplus.com'> here< /a> om een bezoek te brengen aan het strong> <; wptuts+ < /strong>", Filenames creëren, als je wilt een dossier in één van je website's gidsen. Je zal een wil om ervoor te zorgen dat de bestandsnaam is geldig en legal..Wil je ook om ervoor te zorgen dat de catalogus van documenten is de enige naam.Dit wordpress bepaalt:,, sanitize_file_name ($naam), - de ontsmetting (of gecontroleerd door het schrappen van karakter is illegaal) en de naam van de in de specifieke operationele systemen of zich te onttrekken aan de in het commando moet in het dossier.In plaats van de ruimte en de continuïteit van Dash één paneel en de afschaffing van de periodieke, streepjes en onderstreepte aan het begin en het einde van het dossier. Wp_unique_filename (,, $1, - naam), - terug naar de enige (catalogi, registers, de naam, de ontsmetting van (het gebruik van sanitize_file_name,,,), de tekst van de gegevens op het gebied van. De in de tekst, na ontvangst van de gegevens op het gebied van, wil je misschien met een extra ruimte, technische beoordelingsinstanties en andere tekst, en van een etiket.Dit is sanitize_text_field wordpress, (), sleutels, wordpress biedt ook sanitize_key,.Dit is een zeer algemene (af en toe een nuttige functie.Het is gewoon om ervoor te zorgen dat de terugkeer van de variabele bevat slechts kleine letters digitale, markering en onderstreept.,, de verwerking van de gegevens en de verificatie van de gegevens over is om ervoor te zorgen dat doeltreffend is - gegevens zuivering is het veilig maken.Hoewel enkele van de hierboven genoemde controle kan nuttig zijn om ervoor te zorgen dat de gegevens in het algemeen veilig is, en het is niet voldoende.Zelfs de "doeltreffende" gegevens kunnen niet veilig is, in sommige gevallen, regel 4: de gegevens over de veiligheid van de context is, eenvoudig gezegd, "Ik kan je niet vragen hoe deze gegevens, zodat de veiligheid van?",.Maar je moet vragen, "Hoe kan ik deze gegevens voor X", veiligheid, om dit te illustreren, stel je voor dat je een klein onderdeel van een plan om de inbreng van gebruikers in je textarea: //europa.eu.int /comm /.Als ze weer in de tekst: de naam, de < = "mijn tekst" > < /tekst > de rest van de wereld, Hallo, dit is heel efficiënt, veilighttp: //europa.eu.int - maar als je op het behoud van onze tekst, dat uit de tekst.De veiligheid van deze waarde niet als: //europa.eu.int /comm /:,, wat is veilig voor gebruik in een context, een ander ook niet veilig.Elke keer als je het gebruik of de weergave van de gegevens, moet je onthouden wat de ontsmetting moet doen om gebruik te maken van de vorm, de beveiliging van de gegevens.Dit is de reden waarom de wordpress vaak biedt een aantal functies dezelfde inhoud, bijvoorbeeld:,, het gebruik van de benaming (the_title – op het niveau van de etikettering: //europa.eu.int /comm /titel, bijvoorbeeld), het gebruik van titels, the_title_attribute, - voor waarden (in het algemeen de eigenschap titel, < een >, etiketten), the_title_rss, - gebruik van deze titel. De bron van alle RSS, de noodzakelijke medische behandeling in een specifieke context – als je ze gebruikt, moet u ervoor zorgen dat het gebruik van de juiste.Maar soms moeten we doen onze eigen ontsmetting – vaak omdat we pas in de titel de inhoud boven de norm, zoals permanente banden, voor ons, de behandeling van de: //europa.eu.int /comm /wordpress, ontsnappen, wanneer de afdruk van variabele pagina 's moeten we aandacht besteden aan de browser wordt uitgelegd.Laten we kijken naar het volgende voorbeeld:, < H1 > <?PHP ECHO titel;?> < /H1 > dat titel = dollar < script> alarm ('injected javascript) < script> /;,.In plaats van een: //europa.eu.int /comm /< script>, etikettering, ze zal worden uitgelegd: //europa.eu.int /comm /en javascript gesloten zal deze injectie (injectie blz. Ook bleek bij het zoeken naar de vorm van voorbeelden) bekend als de site scripting en deze positieve voorbeelden van de ernst van De verborgen heeft.In het script kan de controle... En "gedrag" van de gebruiker of het stelen van de gebruiker van de koekjes.Dit is een ernstig probleem, als de gebruiker.Om te voorkomen dat de variabele drukken op http: //europa.eu.int: //europa.eu.int /comm /wordpress die aldus worden uitgelegd, esc_html, bekend.In dit voorbeeld:, < H1 > <?PHP esc_html ($titel); de ECHO?> < /H1 >, ontsnappen aan de eigenschap, nu rekening te houden met het volgende voorbeeld:, <?De waarde van de dollar = "PHP mijn waarde" = "alarm (" injectie javascript ")".???????> < input vormen voor de tekst "naam" myinput waarde "=" <?PHP ECHO $waarde;?> "> omdat, de waarde van de dollar, met inbegrip van dubbele aanhalingstekens ontsnappen kan springen door de waarde van de goederen en de injectie van het script, bijvoorbeeld door gebruik te maken van de gebeurtenissen, en eigendom.Niet veilig karakter (zoals prijzen, in dit geval, de dubbele aanhalingstekens), wordpress, die de functie van esc_attr,.Leuk, esc_html, het vervangen van een "veilig" karakter van de code die overeenkomt met de.In feite, schriftelijk, wanneer deze functie is hetzelfde, maar je moet nog steeds met een passend is in de context van, bijvoorbeeld, moeten we, en het is:De waarde van de dollar = "PHP mijn waarde" = "alarm (" injectie javascript ")".???????> < input vormen voor de tekst "naam" myinput waarde "=" <?PHP esc_attr (de dollar in waarde); de ECHO?> ">,,,, esc_html, esc_attr, ook mee, __ _e,,,,,,, _x, var. Esc_html__ (vertaling", "- gebied), /, esc_attr__ ontsnappen, - om een vertaling van de tekst, en, in esc_html_e (vertaling", "plug - in -), en /esc_attr_e, – blijkt, de laatste vertaling van de tekst, en esc_html_x (vertaling" dollar ", de context, de plug - in - en /esc_attr_x), volgens de in de context van de vertaling van de tekst, –, en dan terug naar de vertaling: //europa.eu.int /comm /klasse te ontsnappen, de naam, de naam van de klas, je sanitize_html_class – het ontsnappen, voor de variabelen van het klasse, door het beperken van de waarde alleen terug - cijfers, streepjes en onderstreept.Noot: de naam niet waarborgen, doeltreffende, (Referentie: HTTP://www.w3.org /TR /css21 /syndata. Http: //europa.eu.intde identificatiecode van de definitie van de waarde in de CSS identificatiecode), bevat slechts karakter, [is], EN ISO 10646 karakter E + 00a0 hoog, koppelteken (,,) en onderstreept (, _,); zij kunnen niet beginnen met een nummer, twee streepjes of karakter, gevolgd door een nummer.Identificatiecode bevatten geen karakter ontsnappen karakter en ISO 10646 als een digitale code, ontsnappen, URL, laten we nu eens kijken naar een andere gemeenschappelijke oefeningen, drukken de variabele href eigenschap:,,, < href = < "?PHP ECHO $URL 's.???????> de titel: "de link" titel "> de tekst van de band < /> uiteraard is kwetsbaar in de vorm van dezelfde: //europa.eu.int /comm /eigenschap dat ontsnappen.Maar als, als volgt vastgesteld: $URL, URL 's = "javascript: waakzaamheid dollar (-'injected javascript"), klik op de link, het alarm zou worden ontslagen.Dit omvat niet: //europa.eu.int /comm /, of een citaat, laat het eruit springen href eigendom – dus, esc_attr, niet voldoende is.Dit is de reden waarom het milieu:, esc_attr ($url), zal in, de titel, de eigenschap is veilig, maar niet, – href eigenschappen, omdat de overeenkomst – en javascript perfect, doeltreffend en – in dit geval niet als veilig worden beschouwd.Maar je moet het esc_url:,,, - de aanrijding URL 's worden gedrukt dat de pagina' s. Esc_url_raw, - de aanrijding,, URL 's opgeslagen in een databank of het gebruik van een esc_url URL' s.,,,, met uitzondering van de kenmerken van de verschillende misdrijven, en de overeenkomstige entiteiten vervangen de aanhalingstekens en symbolen.Controleer de protocol in gebruik is toegestaan (javascript, bij verstek, of niet), wat, esc_url_raw, is bijna hetzelfde, esc_url,, maar niet ter vervanging van symbolen en enkele aanhalingstekens (dat wil je niet, wanneer gebruik wordt gemaakt van de URL URL 's, in plaats van dat), in dit geval, Het een URL, dus we gebruiken, esc_url:,, < href = < "?PHP esc_url ($url); de ECHO?> de titel: "de link" titel "> de tekst van de band < />, hoewel in de meeste gevallen, dat is niet nodig, de aanwijzing van een facultatieve functies - overeenkomst (zoals http, FTP https,,,,,,, ftps, e - mail, enz.) de wens om je ontsnapping javascript, soms. Wil je de afdruk javascript variabelen (meestal in een pagina 's hoofd):, < script> variabelen myvar =" <?PHP ECHO $variabelen;?> "; < /scripts >, in feite, als je dat doet, moet je bijna zeker, wp_localize_script (), - de ontsmetting van je.Als iemand het kan één reden bedenken, waarom gebruik je de methode in plaats van boven, ik wil het horen, maar de). In het geval van veiligheid, kan je esc_js functie:,,, < script> variabelen myvar = "<?PHP esc_js ($variabelen); de ECHO?> "; < /scripts > wanneer de weergave van de inhoud van de tekst, ontsnappen, in de tekst, omdat het esc_html, niet voldoende is, herhaal code niet van de entiteit.Bijvoorbeeld:, enPHP $var = "< sterke > de tekst < /sterk > & lt; b & GT; moedige & lt; /B & GT;"?> < textarea > <?PHP esc_html ($variabelen); de ECHO?> < /tekst >,, $var, de gedrukte tekst voor:, < sterke > de tekst < /sterk > < b > moedige < /B > in plaats van de code, &,, & en; in < b >, etikettering, het verstrekken esc_textarea wordpress,,, dat is bijna hetzelfde, maar niet esc_html, herhaal code van de entiteit.In wezen is het gewoon een verpakking, htmlspecialchars,.In dit geval,PHP $var = "< sterke > de tekst < /sterk > & lt; b & GT; moedige & lt; /B & GT;"?> < textarea > <?PHP esc_textarea ($variabelen); de ECHO?> < /tekst >, antispambot op je site over het e - mailadres van e - mail, waardoor ze te combineren.Een eenvoudige methode is een e - mail.Je biedt, antispambot, code, e - mail: //europa.eu.int /comm /entiteiten hulpstukken (hexadecimaal equivalent als adres = 1 dollar).Op elke bladzijde van de code - anders moeten zijn, terwijl de terugkeer van de juiste woorden aan het adres van de browser, het moet worden opgenomen in de door de bureaucratie.Deze functie heeft twee parameters:,, e - mail, - adres verwarring, 1 0 en - (1 - overeenkomst als in het gebruik van mailto), USD = "joebloggs, e - mail @ voorbeeld. COM"; e - mail = sanitize_email dollar (USD per e - mail); de ECHO "< a =" href mailto: ". Antispambot (dollar per e - mail van 1). Titel:" op de e - mail ik ">". Antispambot ($per e - mail). "< />"; de vraag wat je wil, als toevoeging van (schrapping) van de vraag string variabelen (als u wilt dat de keuze van de gebruiker je post, dit is een zeer nuttige), veiligste en meest eenvoudige methode is het gebruik van add_query_arg remove_query_arg,,,,.De behandeling van deze functie de nodige ontsnappen en het gebruik van de parameters van de waarde van add_query_arg URL 's.,,, de aanvaarding van twee parameters:,, de zoekopdracht - parameter, - reeks parameters > de waarden, de URL - toevoeging van parameters, URL' s en hun waarde is.Als je de pagina 's, URL' s gebruiken, remove_query_arg,,, het aanvaarden van twee parameters, de eerste van een reeks parameters is geschrapt, en ten tweede, als we in de hierboven aangegeven. /www.example.com/wp-admin/edit.php?Post_type = = - boek query_params dollar (blz. "= >" ik "); $URL 's = add_query_arg ($query_params) wordt; //////////////www.example.com/wp-admin/edit.php URL:???????Het boek post_type = & Page = mijn pagina 's, controle & ontsmetting, zoals eerder vermeld, ontsmetting en het heeft niet veel zin, geen context – het is zinloos, als de gegevens in de database.Meestal moet je opslag van gegevens in hun oorspronkelijke vorm, in ieder geval - artikel 1 van Verordening nr. We moeten voor de produktie, de validering van de gegevens, en aan de andere kant moeten zo snel mogelijk worden aanvaard en niet in de database.Het idee is, ongeldig worden de gegevens automatisch gecorrigeerd, of door de identificatie van de gegevens, de gegevens slechts doeltreffend moeten aan de database, zei – maar ook bij de verificatie van gegevens waaruit blijkt dat de uitvoering, ooit.In feite, soms, "of" zal er ook voor zorgen dat de gegevens veilig zijn.Maar de prioriteit is de veiligheid moet je niet te veel na, die op elke pagina 's (, wp_kses_ * functies, bijvoorbeeld door zeer duur), gegevensbank, ontsnappen, wanneer gebruik wordt gemaakt van de functie van get_posts, of, zoals wp_query, wp_user_query wordpress,,, noot nodig ontsmetting in de database.Echter, als de data uit gewoonte, of op een andere wijze de database een geschikte desinfectie - directe vraag van je, dan.Wordpress, maar biedt een nuttige les, $wpdb klassen te helpen ontsnappen, en de vraag is, zijn wij van mening dat deze fundamentele keuze ", beschikking, waarbij de dollar, het tijdperk van de dollar, de naam is opgeslagen leeftijd en naam, we vragen, de keuze van de leeftijd: * * * * * * *" dollar - generatie ". = $naam", kunnen we niet ontsnappen van deze variabelen, zodat het potentieel voor verdere orders kan worden geïnjecteerd.Uit de bovenstaande voorbeelden: leningen XKCD, leeftijd = 14 dollar; de dollar is firstName= "Robert; de lijst van studenten;"; SQL = "select * dollar in leeftijd = $tijdperk" in de naam van de naam ";"; = $$resultaten = $wpdb - > vraag, zal de beschikking (s), leeftijd 14: * * * * * * * en de naam = "Robert"; de lijst van studenten; ", en het schrappen van de tabel; studenten, om dit te voorkomen, die we kunnen gebruiken, $wpdb - > voorbereiding en methoden.Dit accepts twee parameters:, de SQL commando als een touw, touw, waar tot zij zijn vervangen door de decimale nummers,%, en zij zijn vervangen door de onofficiële, D, en door een reeks waarden, in%, voor de hierboven placeholders zijn, in de volgorde die in de vraag, op deze post. En $age = 14; $firstname = "Robert'; laat tabel studenten;"; de $SQL = $wpdb-> voorbereiden ('SELECT * waar age=%d en firstname =%; ", - ($age, $firstname); $resultaten = $wpdb-> get_results ($SQL); de escaped SQL Query (,, $SQL, in dit voorbeeld). Dan worden gebruikt met een van de methods: $wpdb-> get_row (,,,,,, $wpdb-> $SQL); get_var ($SQL), $wpdb-> get_results (,,,,, $wpdb-> $SQL); get_col ($SQL),,, $wpdb-> vraag ($SQL),,, Inserting en actualisering van gegevensInserting of bijwerking van gegevens, voor het leven makkelijker maakt, je dan van die de $wpdb-> wordt (), en, $wpdb-> actualisering (), methods., de, $wpdb-> wordt (), accepts. - arguments:, tabel, de naam, de naam van de tafel -, data - installatie van gegevens. Steek als column-> waarde paren, formaat, - - van de formaten voor de desbetreffende waarden (",%,", "D" or'%,,,,, ") $age = 14; $firstname =" Robert'; laat tabel studenten; "; $wpdb-> wordt ('Students', - ('firstname'=> $firstname,'age'=> $age), - (%); de% d '), $wpdb-> actualisering (), voor vijf arguments: accepts, tabel, de naam, de naam van de tafel -, data - installatie van gegevens te werken als column-> de waarde van paren van gegevens, waar - - - -O, met als column-> de waarde van paren, data - en - - - van de formaten voor de desbetreffende gegevens waarden, waar de vorm - - van de desbetreffende'where'formaten voor waarden, ///////update Robert'; laat tabel studenten; naar Bobby $oldname = "Robert'; laat tabel studenten;"; $newname = "Bobby". $wpdb-> actualisering ('Students', - ('firstname'=> $newname), - ('firstname'=> $oldname), - (%) (%), - de $wpdb->);,,,,, en de insert (), $wpdb-> actualisering (), die de uitvoering van alle noodzakelijke sanitization voor schrijven aan de loopt. Als verklaringen, omdat het, $wpdb-> voorbereiden, methode gebruikt,%, te distinguish de place-holders, zorg moet worden genomen als het gebruik van het wildcard SQL LIKE-statem, in%,Shuren.Voorstel van de Commissie aan de Codex Alimentarius hun tweede, in%,.Of je kan ontsnappen aan deze woorden te zoeken, like_escape, en dan ook nog de wildcard,%, in voorkomend geval, met inbegrip van de vraag voor gebruik in voorbereiding.Bijvoorbeeld, de leeftijd = 14 dollar; de dollar is firstName= "Robert; de lijst van studenten;"; de keuze van * leeftijd = leeftijd (de naam "dollar" dollar%); om de veiligheid, de leeftijd: = 14 dollar; de dollar is firstName= "Robert; het schrappen van studenten informatie;"; de keuze van de naam * leeftijd = leeftijd (zoals de US - dollar% $"%); ik vraag = $wpdb - > voorbereiding ('select * leeftijd = d (firstname%);", - dollar - tijdperk, "%". Like_escape ($"). De"% "), geeft een overzicht van het,,); niet kan worden gebruikt voor het testen van de functie van een gedetailleerde en ontsmetting op de lijst, maar het moet voor de overgrote meerderheid van de gevallen worden gebruikt.Veel van deze (en andere) functies kunnen worden gevonden, ook /formatting.php, adviseer ik de kern van de code heeft een kern van verificatie en gezondheid en kijk je gegevens, denk je dat dit werkt?Voor de verificatie van gegevens en je je ontsmetting van beste praktijken, en eventuele verdere voorstellen?Laten we het weten, de volgende opmerkingen.
De verwerking van de gegevens en de verificatie van
Previous:Het gebruik van radio wordpress
Next Page:Functie controle: wp_nav_menu