WordPressでのadminユーザ変更

Posted by ほっそん on 2013/05/19 Comments

WordPressのadminユーザへの攻撃がかなり多くなってると聞きます。
周りでadminユーザの変更できない・・・みたいな声がたまに聞こえてくるので書いておきます。

1.adminユーザでログイン
2.admin以外の管理者を作成
3.adminユーザをログアウト
4.2で作成した管理者でログイン
5.adminユーザ削除しようとする
6.2で作成したユーザに対して「全ての投稿を以下のユーザにアサイン」する。

20130519_01_wp_admin_change

これで管理者をadmin以外のユーザに変更できます。

javascriptの可変長引数

Posted by hatesong on 2013/04/19 Comments

っぽいものらしいですが、argumentsクラスを使えば出来ます。

今回は、覚えたてのPrototypeでStringを拡張して

// プレースホルダ{i}を引数に連続置換
String.prototype.toStringInsertVar = function(){
	var _fmt = this;
	for (i = 0; i < arguments.length; i++) {
	    var reg = new RegExp("\\{" + (i) + "\\}", "g");
	    _fmt = _fmt.replace(reg,arguments[i]);
	}
	return _fmt;
}
// 変数をクエリに代入します。
var param1 = "parameter1";
var param2 = "parameter2";
var param3 = "parameter3";
var text = "?param0={0}&param1={1}&param2={2}";
text = text.toStringInsertVar( param1 , param2 , param3 )
window.location.search = text;

スクリプトでリアルタイムにGET送信のパラメータを変更するときに便利でしょうか。
“param0″+変数+”param1″+変数・・・
みたいな書き方って面倒ですよね。

それでは。

URL正規化とリダイレクトをjavascriptを使ってまとめて行う

Posted by hatesong on 2013/04/01 Comments

仕事でsalesforceを使う事があるんですが、ドメインを変更するので、転送設定をしたい・・という時にASPゆえの不便さに出くわしました。
どうも、別ドメインへのリダイレクトは出来ないようで、サポートセンターに問い合わせても返答なし、当然サーバーの中をどうこう出来ないので、
.htaccessも使えません。

metaかjavascriptかでリダイレクトするしかないようです。

検索エンジン対策として、link rel=”canonical”も設定しつつ、
転送設定もURL使いまわす形にしてみました。

//canonicalのURLへリダイレクト処理
<link rel="canonical" href="転送先URL" />
(function(){
    return function(){
        var canonical = document.getElementsByTagName("link");
        if(canonical){
            for ( i = 0; i < canonical.length; i++ ){
                if( canonical[i].getAttribute("rel") == "canonical" ){
                    canonical = canonical[i];
                    break;
                }
            }
            location.replace( canonical.getAttribute("href") );
        }
    }();
})();

location.hrefだと履歴に残ってしまうので、replaceで。

今回のように、何らかの理由でサーバーの中にアクセスできない場合は有用なんではないでしょうか?

それでは。

user-profile.tpl.phpテンプレートを使ったプロフィール表示のカスタマイズ

Posted by 智花 on 2013/01/28 Comments

結構こういうところで悩むのがテンプレートの書き方。

実行結果:
user-profile.tpl.php

<div class="profile"<?php print $attributes; ?>>

  // ラベルと選択した値の両方を表示する
  <div><?php print render($user_profile['field_user_sex']); ?></div>

  // 選択した値を表示する
  <div><?php print $user_profile['field_user_sex'][0]['#markup']; ?></div>

  // 選択したコードを表示する
  <div><?php print $user_profile['field_user_sex']['#items'][0]['value']; ?></div>

</div>

リストに利用可能な値:
man|男
woman|女

こんな方法もある。$userみたいに使えちゃう。

  // 選択したコードを表示する2
  <?php $account = $elements['#account']; ?>
  <div><?php print $account->field_user_sex[LANGUAGE_NONE][0]['value']; ?></div>
  <div>アカウント作成日時:<?php print format_date($account->created, 'short'); ?></div>

Drupal7で使うモジュールメモ

Posted by 智花 on 2013/01/28 Comments

最近、Drupal7を使い始めたので、モジュールの入れなおしをば。

admin_menu-7.x-3.0-rc3.zip
admin_theme-7.x-1.0.zip
chatroom-7.x-2.0.zip
ckeditor-7.x-1.12.zip
ckeditor_4.0.1_standard.zip
content_access-7.x-1.2-beta1.zip
ctools-7.x-1.2.zip
custom_pagers-7.x-1.x-dev.zip
date-7.x-2.6.zip
devel-7.x-1.3.zip
fivestar-7.x-2.0-alpha2.zip
google_analytics-7.x-1.3.zip
imce-7.x-1.6.zip
jquery_update-7.x-2.2.zip
l10n_update-7.x-1.0-beta3.zip
metatag-7.x-1.0-beta4.zip
mobile_tools-7.x-3.x-dev.zip
module_filter-7.x-1.7.zip
multiselect-7.x-1.9.zip
oauth-7.x-3.0.zip
panels-7.x-3.3.zip
pathauto-7.x-1.2.zip
persistent_login-7.x-1.0-beta1.zip
privatemsg-7.x-1.3.zip
rules-7.x-2.2.zip
seo_checklist-7.x-4.0.zip
site_map-7.x-1.0.zip
taxonomy_access-7.x-1.0-rc1.zip
taxonomy_menu-7.x-1.4.zip
token-7.x-1.4.zip
twitter-7.x-5.4.zip
unique_field-7.x-1.0-rc1.zip
views-7.x-3.5.zip
votingapi-7.x-2.10.zip
webform-7.x-3.18.zip
wysiwyg-7.x-2.2.zip

SSLの更新でエラーが発生した

Posted by ほっそん on 2013/01/25 Comments

UbuntuでSSLの更新をする必要があって、証明書を更新したけど、下記のようなエラーが発生してApacheが起動せずに困っていました。

RSA server certificate CommonName (CN) `hogehoge.com' does NOT match server name!?

で、解決方法を調べていると、「ServerName hogehoge.com」とか追加したらいいよというのが見つかったんですが、エラーはなくなってくれませんでした。
結局、「UseCanonicalName Off」を追加することで解決。
更新期限が後数日だったのでほっと一息。

<VirtualHost *:443>
  UseCanonicalName Off
</VirtualHost>

【引用元】
s setup works for me (and it’s the default Debian stuff, almost no chang

XAMPP 1.71 と XAMPP1.81 の複数インストールについて

Posted by ほっそん on 2013/01/24 Comments

Windowsに複数のバージョンのPHPをインストールしたくて、
XAMPP1.71、XAMPP1.81の順番でXAMPPを2つインストールしました。
下記のサイトを参考にしてショートカットのパラメータを変更してもうまくいきませんでした。

【xampp】Windows7上で複数のxampp(1.7.3)を共存させる方法 | Linuxとかをつついてみるブログ

Continue…