, vermogen en op dit moment,,,,,,,,,, delen, 6 - eenheid,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, voordat dit artikel me helpen om je thema of « veiligheid door middel van passende gegevens verwerken en controleren.In dit artikel, en we zullen zien. Een ander belangrijk aspect van de veiligheid van de bestaande capaciteit en:.,, bij de ontwikkeling van een « plugin » (en, in mindere mate, betreft), zal je ontdekken dat je wil kan de gebruiker van verschillende activiteiten: schrapping, opstellen en bijwerken van de posten, categorie gebruikers, zelfs andere opties.Je moet vaker, bepaalde gemachtigde gebruikers voor de uitvoering van deze acties.Dus, het gebruik van de twee begrippen wordpress: de rol en het vermogen van de voorkant van het schrappen van banden,.,: een eenvoudig voorbeeld, laten we aannemen dat we behoefte hebben aan een voorkant wis knop snelle post te schrappen.Het creëren van een link naar onze gebruiken, wptuts_frontend_delete_link (), de hoogte, functionele wptuts_frontend_delete_link () {% = add_query_arg (URL) ('Action "= >'wptuts_frontend_delete",'post "= > get_the_id (;); ECHO" < href = "{} $url *; het schrappen van < />";}, dan schrappen: als lid is ($_request [aantal]) & & $_request [] = ='wptuts_frontend_delete pakket ") {add_action ('init",'wptuts_frontend_delete_post "); wptuts_frontend_delete_post () {} de functie van het ID ///////nummer.Post_id dollar = lid is ($_request ['post])?(int) _request dollar ['post); ///////]:0 zonder baan?Oh, oké...Als (lege (dollar terug post_id)); ///////wp_trash_post (na schrapping van $post_id); ///////verlegd naar het beheer van herzieningen = admin_url dollar ('edit. PHP); wp_redirect ($herzieningen); intrekking;}, en als de gebruiker op de "DELETE" die na de gebruiker is, net als het wordt verlegd naar de interface na de code, en de vraag is, het niet controleren van bevoegdheid: iedereen toegang kunnen krijgen tot de banden en het schrappen van banen – niet alleen zo, maar na onderzoek door het veranderen van variabelen, ze kunnen schrappen, geen berichten.Ten eerste, we moeten ervoor zorgen dat alleen die we hopelijk kunnen schrappen, schrappen., machtigingen, rol en functie, als de gebruikers in je wordpress van de hun toegewezen rol, een registratie: dat is waarschijnlijk, administrateur, bewerkt of gebruikers.Van elke rol worden toegekend aan mogelijkheden, bijvoorbeeld, edit_posts,,, edit_others_posts, delete_posts, of, manage_options,.Ongeacht welke rol zij gebruikers is, heeft deze functie: functie is toegewezen aan de rol en functie en niet van de gebruikers, die bepalend is voor hun toegang tot welk deel van het scherm, en waar zij kunnen doen en wat niet.Het is belangrijk op te merken dat, wanneer de controles toegang controleren, je vermogen, maar wordt niet, rol.De rol van de functie, kan toevoegen of schrappen, dus je kan niet uitgaan van een administratief beheer van de website van de gebruikers in staat moeten de opties – moet je speciale controles van de huidige gebruikers hebben, manage_options, vermogen, zoals gewoonlijk, als je moet worden vermeden: (current_user_can ('admin ") {///////wat alleen de gebruikers kan het beheer van opties moet kunnen doen.}, het creëren van een willekeurige, je kan gebruiken, wp_create_nonce ($acties), waarin de maatregelen, de dollar, is uiteengezet.Teken dan extra wordpress en gebruikers - id en hasj en een sleutel, en dan neem je dit en alle andere tijdelijke maatregelen nodig als je de gegevens voor het uitvoeren van de operatie.Op dit moment is heel eenvoudig, /tijdelijke opvang en. De huidige waarde van $actie.Voor de actie die wij voor het genereren van willekeurige wp_verify_nonce ($van de actie, dollar); ///////terug is waar of onwaar, in de huidige dollar ontvangen, is de huidige waarde van de actie, dollar, is te eisen dat de actie, loc. Cit.Het tijdelijke gebruik wordpress die voor maatregelen en controle van de naleving van bepaalde tijdelijke, dollar.Als er iemand stuurde je de link, ze hebben hun id en tijdelijke zal genereren en je zal de verschillende, of, in het geval van tijdelijke terbeschikkingstelling van of toevoeging van een vraag van variabelen, de naam, de naam, de check_admin_referer dollar (USD acties: de naam van de dollar); als tijdelijke invaliditeit heeft stop Alle verdere acties, een ", weet je het zeker?"Bericht, wordpress maakt het gebruik van willekeurige nummers: vorm van bijzonder gemakkelijk kan worden gebruikt, wp_nonce_field (dollar acties, de naam van de dollar).Dit kan leiden tot een verborgen gebied, de naam, de hoedanigheid en de dollar, die de waarde van de dollar, de actie, website kan gebruiken, wp_nonce_url ($url, $actie).Dit zal de dollar, URL en terug en vraag de variabelen, _wpnonce, toegevoegd, en de willekeurige getallen als de waarde van het, in ons geval, functie: wptuts_frontend_delete_link (URL) {% = add_query_arg (array ('Action "= > de wptuts_frontend_delete",'post "= > get_the_id (de);); (=" wptuts_frontend_delete_ "dollar.Get_the_id (); de ECHO "< href =". Wp_nonce_url ($url, de huidige Amerikaanse dollar). "> het schrappen van < />";}, dit (id van 61) tot actie maken, wptuts_frontend_delete_61,.Dan, afval, telefoon, wptuts_frontend_delete_post,, kunnen we kijken check_admin_referer (gedeeltelijke'wptuts_frontend_delete_ ". Post_id dollar" _wpnonce "); in de Ajax verzoeken, met behulp van een willekeurig aantal, in de Ajax verzoeken gebruik te maken van een willekeurig aantal is een beetje ingewikkeld.Willekeurige server, dus de huidige waarde moet worden gedrukt als een javascript variabelen is met Ajax verzoek sturen.Je kan het, wp_localize_script,.Laten we aannemen dat je al ingeschreven voor een script, wptuts_myjs, waarin een verzoek om wp_enqueue_script Ajax, ('wptuts_myjs "); wp_localize_script ('wptuts_myjs",'wptuts_ajax, - ('url "= > admin_url (" beheer van Ajax, PHP) ///////wordpress Ajax, URL behandeling van bladzijde'nonce "= > ('my_nonce_action"); wp_create_nonce)), en in onze wptuts_myjs; "script: de dollar. Ajax ((http: wptuts_ajax.url" hola ", de aard van de gegevens: gegevens: {actie:" my_ajax_action ", _ajax_nonce:wptuts_ajax.nonce,},...}); en, tot slot, in je Ajax, call - back -: check_ajax_referer ('my_nonce_action "); het gebruik van meer dan één willekeurige,,, meestal per vormen een tijdelijke (of het verzoek) is voldoende.Echter, met de achtergrond is wordpress enigszins gecompliceerd.Als je bijvoorbeeld na de bijwerking, zal de uitvoering van onderzoek en de voorlopige vergunning wordpress – ik denk dat je niet moet een functie aan de bestaande behandeling, save_post, uw gewoonte - doos?Dat kan niet, save_post, in de andere gevallen, bij verschillende gelegenheden of een gebeurtenis die, met de hand – in feite wanneer wp_update_post, in feite is heet.Om er zeker van te zijn dat je de gegevens te ontvangen, moet je je, metabox met eigen uitvinding, >, natuurlijk, als je het gebruik van meer dan één tijdelijke een vorm, het belangrijkste is dat je je bedacht een unieke naam – is de verborgen veld bevat een unieke naam) waarde.Als in de vorming van een willekeurige met dezelfde naam, een controle op andere plaatsen, moet door de oprichting van een mislukking, dus voor je metabox verzonnen was, moet het geven van een unieke naam, functie my_metabox_callback ($post) {. ='my_nonce_name "/vastgesteld; dit is uniek en het met je naam « plugin » /betreft voor acties ='my_action_xyz_ '. $na > de identiteit van de voorlopige maatregelen is; ///////wp_nonce_field (dollar van de acties, de naam van je $); ///////- doos...En je save_post},,, - kit, add_action ('save_post ",'my_metabox_save_post"); de functionele my_metabox_save_post ($post_id) {///////inspectie van de niet automatische redden als (definitie ('doing_autosave ") & & doing_autosave) terug te keren; ///////controleer uw gegevens hebben toegezonden - het nuttig om na te gaan of we gaan met als we de metabox (!Is ($_post ['my_nonce_name]) terug te keren; ///////vergunningen te controleren als (!Current_user_can ('edit_post, post_id dollar) terug te keren; /de laatste inspectie tijdelijke check_admin_referer ('my_action_xyz_ ". Post_id dollar my_nonce_name", "de tenuitvoerlegging van de actie); ///////), als je gezicht is de ideale van meerdere metabox – moet je een data, elke willekeurige nummers.- kit, kunnen worden verwijderd, als element van vak tijdelijk worden geschrapt, dan als geldig verzoek zal worden aangenomen.Dus, nu andere metaboxes afhankelijk zijn, zal er geen behandeling, schoonheid. En nu slechts bevoorrechte gebruikers kunnen schrappen posten – en onze methoden om te voorkomen dat de aanvaller... Ze naar de band.Maar, nu, iedereen die de banden heeft, moeten we opruimen, zodat het er bij de gebruikers kunnen het gebruiken van de gebruikers.Ik laat deze stap, en ten slotte omdat verborgen banden van bevoorrechte gebruikers zonder het belang van de veiligheid.De veiligheid, de duisternis niet, en we moeten ervan uitgaan dat de aanvaller kan helemaal naar de source code (waarschijnlijk wordpress betreft of van de « plugin ») – als dat zo is, gewoon een man verborgen link niet: ze kunnen gewoon voor de bouw van een eigen URL 's.Het vermogen om te controleren om te voorkomen dat dit een punt is, omdat, zelfs als ze niet op de website, koekjes, voor hun rechten.Bovendien, om te voorkomen dat je op dit moment in de website vereist een doeltreffende, op dit moment, als een volledige artistieke bewegingen, hebben we de mogelijkheid controle van binnen, wptuts_frontend_delete_link (), de functie, en wptuts_frontend_delete_link () {als (current_user_can ('delete_post ", get_the_id (URL))) {% = add_query_arg (array ('Action" = > "wptuts_frontend_delete",'post "= > get_the_id (;); ECHO" < href = "{} $url > het schrappen van < />";}} samenvatting van het vermogen,,, weet je nog dat vergunningen en willekeurige of het voornemen van belang.Beide zijn nodig, om je een plug - in veiligheid, maar dat betekent niet dat de andere.De behandeling van deze controles soms wordpress – bijvoorbeeld bij het gebruik van API - je geregeld.Echter, als de haak, save_post, de uitvoering van deze controles nodig zijn, gelukkig code.,
De huidige capaciteit,
Previous:Snelle tips: behoud van