{"id":233033,"date":"2023-02-03T10:05:00","date_gmt":"2023-02-03T07:05:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=233033"},"modified":"2023-02-03T10:14:47","modified_gmt":"2023-02-03T07:14:47","slug":"kuinka-tarkistaa-onko-yksi-tai-useampi-kaeyttaejae-kirjautunut-sisaeaen-evaesteen-avulla-wordpressissae","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/kuinka-tarkistaa-onko-yksi-tai-useampi-kaeyttaejae-kirjautunut-sisaeaen-evaesteen-avulla-wordpressissae\/","title":{"rendered":"Kuinka tarkistaa, onko yksi tai useampi k\u00e4ytt\u00e4j\u00e4 kirjautunut sis\u00e4\u00e4n ev\u00e4steen avulla WordPressiss\u00e4?"},"content":{"rendered":"<p><a href=\"https:\/\/wordpress.mediadoma.com\/fi\/wordpress-plugin-tutorial-kuinka-kirjoittaa-ensimmaeinen-laajennus\/\" title=\"WordPress\">WordPress<\/a> tarjoaa API :n <strong>is_user_logged_in()<\/strong> tarkistaakseen, onko joku k\u00e4ytt\u00e4j\u00e4 kirjautunut, mutta valitettavasti se ei ole suoraan k\u00e4ytett\u00e4viss\u00e4, kun kirjoitat <a href=\"https:\/\/helloacm.com\/how-to-disable-ftp-login-details-in-wordpress-when-upgrading-plugins\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">laajennuksia<\/a>, esim. Plugins ladataan ennen kuin <strong>pluggable.php<\/strong>, jossa <strong>is_user_logged_in()<\/strong> on m\u00e4\u00e4ritelty.<\/p>\n<p><strong>Is_user_logged_in()<\/strong>: n toteutuksesta n\u00e4et, ett\u00e4 se on:<\/p>\n<pre><code>function is_user_logged_in() {\n\u00a0 \u00a0 $user = wp_get_current_user(); \n\u00a0 \u00a0 return $user-&gt;exists();\n}<\/code><\/pre>\n<p>Joten voimme muuttaa toimintoa tarkistaaksemme, onko tietty k\u00e4ytt\u00e4j\u00e4 kirjautunut sis\u00e4\u00e4n.<\/p>\n<pre><code>function is_username_logged_in($username) {\n\u00a0 \u00a0 $user = wp_get_current_user(); \n\u00a0 \u00a0 return $user-&gt;user_login == $username; \u00a0\n}<\/code><\/pre>\n<p>Ydinfunktio <strong>wp_get_current_user<\/strong> on kuitenkin edelleen m\u00e4\u00e4ritelty tiedostossa <strong>pluggable.php<\/strong>. Seuraava toteuttaa funktion, joka ottaa joukon sallittuja k\u00e4ytt\u00e4j\u00e4nimi\u00e4 ja palauttaa arvon tosi, jos jokin sallittu k\u00e4ytt\u00e4j\u00e4nimi on kirjautunut sis\u00e4\u00e4n.<\/p>\n<pre><code>function allowedUsersLoggedIn($allowd_users) {\n\u00a0 \u00a0 if (count($_COOKIE)) {\n\u00a0 \u00a0 \u00a0 \u00a0 foreach ($_COOKIE as $key =&gt; $val) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (substr($key, 0, 19) === \"wordpress_logged_in\") {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 if (preg_match('\/^('. implode('|', $allowed_users). ')\/', $val, $matches)) {\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 return true;\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 \u00a0 \u00a0 }\n\u00a0 \u00a0 }\n\u00a0 \u00a0 return false;\n}<\/code><\/pre>\n<p>Voit k\u00e4ytt\u00e4\u00e4 t\u00e4t\u00e4 toimintoa turvallisesti miss\u00e4 tahansa, my\u00f6s ilman WP-ymp\u00e4rist\u00f6\u00e4. Esimerkkik\u00e4ytt\u00f6 olisi:<\/p>\n<pre><code>if (allowedUsersLoggedIn(array(\"helloacm\", \"steakovercooked\")) {\n\u00a0 \/\/ code that only allowed users run\n}<\/code><\/pre>\n<p>T\u00e4m\u00e4n toiminnon periaate on tarkistaa Ev\u00e4steest\u00e4 m\u00e4\u00e4ritetty merkkijono, kun sallitut k\u00e4ytt\u00e4j\u00e4t ovat kirjautuneet sis\u00e4\u00e4n.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kuinka tarkistaa, onko yksi tai useampi k\u00e4ytt\u00e4j\u00e4 kirjautunut sis\u00e4\u00e4n ev\u00e4steen avulla WordPressiss\u00e4?<\/p>\n","protected":false},"author":1,"featured_media":224779,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[719,895,834,843,803,864],"tags":[1166],"class_list":["post-233033","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-opas-aloittelijoille","category-opetusohjelmia","category-php-5","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/233033","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=233033"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/233033\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/224779"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=233033"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=233033"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=233033"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}