タグ

ブックマーク / ounziw.com (5)

  • WordPress 人気 50 プラグインの脆弱性

    http://www.checkmarx.com/wp-content/uploads/2013/06/The-Security-State-of-WordPress-Top-50-Plugins.pdfで、WordPress 人気 50 プラグインの中に脆弱性があるプラグインがある、と報告されています。 いくつかのプラグインに、脆弱性が報告されています。SQLインジェクション、XSS(クロスサイトスクリプティング)、CSRF(クロスサイトリクエストフォージェリ)、PT(パス遡り)、RFI(外部ファイル混入)です。 SQLインジェクションについては、プリペアドステートメントを使うことでほぼ防げます。ORマッパーを自作する、とかでない限り、プリペアドステートメントを使う、で十分でしょう。WordPress カスタマイズでは、wp_insert_postを使う方法がありますし、動的プレースホル

    WordPress 人気 50 プラグインの脆弱性
  • ユーザー毎の閲覧記録をローカルストレージに記録し、訪問状況に応じてnewを表示する

    ユーザー毎の閲覧記録をローカルストレージに記録するようにしてみました。ワードプレスのサポートならレスキューワーク株式会社のニュース記事部分に実装しています。 HTML5のローカルストレージ機能を利用して実装しています。最初のアクセス時は全て new! を表示します。訪問した時刻をdateに記録します。ニュース記事のIDをnewstodayに記録します。二回目以降は、前回の訪問より7日以上経過していれば、newstodayをnewsにコピーします。newsに記録されているニュース記事は new! を表示しないようにしています。ひとまず7日にしていますが、ここはサイトの更新頻度に応じて調整したほうが良いかもしれません。あくまで暫定的な日数です。 /** * Copyright 2013 Fumito MIZUNO * License: AGPL ver.3.0 or later */ $js

    ユーザー毎の閲覧記録をローカルストレージに記録し、訪問状況に応じてnewを表示する
  • WordPress ウィジェットでテーマ内のファイルを出力する

    WordPress のウィジェットはドラッグアンドドロップで並べ替えができます。ウィジェットを活用すると臨機応変にウェブサイトの表示を変更することができます。しかし、ウィジェットを作成して、管理画面で様々な設定ができるようにするのは結構手間がかかります。 そこで、テーマ内にファイルを置き、ウィジェットでは読み込むファイル名を指定するだけ、というウィジェットを作成しました。使い方としては、 フェイスブックやツイッター等のパーツを読み込む WP_Query を使った複雑なクエリの結果を読み込む といったことを想定しています。たとえばツイッターのつぶやきを表示する場合は、 のようになります。管理画面では、ウィジェットの選択はファイル名だけです。あらかじめ twitter.php をテーマ内に作成しておき、 <a class="twitter-timeline" href="https://twi

    WordPress ウィジェットでテーマ内のファイルを出力する
  • setting API を活用した wordpress プラグイン作成

    wordpress プラグイン開発するとき、管理画面から option を選択できる設計にすることがあります。そのとき、setting API を活用すると楽になります。 オプションデータを登録/更新/削除するときなど、何らかのアクションを実行するときは、CSRF 対策が必要です。CSRF とは、ユーザーが意図しない操作を行わせる(うっかりリンクを踏む等をさせる→その結果、投稿や削除等が実行される)ものです。 意図しない操作を防ぐため、wp_nonce_field でトークンを発行し、wp_verify_nonceで確認する、という手順を組み込みます。こうすることで、登録/更新/削除する作業を行う直前のページが来想定されているページかどうかをチェックできます。 昔はプラグイン作成者が自分で wp_nonce_field や wp_verify_nonce を組み込んでいたのですが、現在で

    setting API を活用した wordpress プラグイン作成
  • WordPress 管理画面の特定ページでのみ JavaScript 読み込みする方法

    WordPress 管理画面の特定ページでのみ JavaScript 読み込みする方法の解説です。(単純にフックすると、jsが全ページで読み込まれることになります。)WordPress 管理画面上で関数(クラス)のソースを閲覧できるプラグイン Source Viewでも活用しています。 Justin Tadlock さまの記事 How to load JavaScript in the WordPress admin をベースにしています。 Source View のソースコードです。(sv_ という prefix をつけています) function sv_plugin_admin_page() { // Use of $hook is explained below // http://justintadlock.com/archives/2011/07/12/how-to-load-j

    WordPress 管理画面の特定ページでのみ JavaScript 読み込みする方法
  • 1