CVE-2012-どさにっき 〜2012年12月中旬〜

by やまや
<< = >>

2012年12月17日(月)

無題

_ たぶんすぐ忘れるのでメモ。ps でスレッドの情報を取得する。Linux 限定。

THREAD DISPLAY
       H               Show threads as if they were processes
       -L              Show threads, possibly with LWP and NLWP columns
       m               Show threads after processes
       -m              Show threads after processes
       -T              Show threads, possibly with SPID column
↑man より。たとえば、pid が 1234 のプロセスのスレッドを表示するには、
$ ps u -L 1234
とする。ps uL とすると怒られるが、ps uH は可。

_ Linux の ps は SysV 形式と BSD 形式の引数がごっちゃになってる上、さらに GNU long options まであってキモいことこの上ない。昔からキモかったが、整理されることもなくどんどんオプションが追加されていってどんどんキモさが増していってる。誰も疑問に思わんのか。


2012年12月18日(火)

grep '\w'

_ GNU grep の man には

   The Backslash Character and Special Expressions
       The  symbols  \<  and  \>  respectively  match  the empty string at the
       beginning and end of a word.  The symbol \b matches the empty string at
       the  edge  of a word, and \B matches the empty string provided it's not
       at the edge of a word.  The symbol \w is a synonym for [[:alnum:]]  and
       \W is a synonym for [^[:alnum:]].
とある。が、\w が使えるなら当然同じように使えるだろうと期待する \s や \d などについては記述がない。中途半端だなーと思っていたら、grep 2.6 以降(?)では \s が使えるようになっている模様。man には書かれていないが。そして依然として使えない \d。中途半端だなー。

_ そんなちまちまやらんと、やるなら一度に対応させればいいのに。そして、対応したならしたでちゃんと man に反映しようよ。ほんっっっとに GNU の man は使えねーなー。

めずらしく php のファイルをいじってるんだけど、

_ define された定数を undefine する方法ないの…?

_ 他人が作った PHP なアプリの長大な設定ファイルの中で define() されてる部分をいちいちいじるのがちょーめんどくさいんですけど。どこをいじったのか一瞥してわかりづらいし。元の定義を1行ずつ探して書き換えなきゃいかん。undefine できれば、元の定義を気にせず消して変更すべき部分をまとめてぺろっとコピペして上書きできるのに。

_ こうした。

<?php
// オレ定義
define('CONST', 'hoge');
define(..., ...);
...
$e = error_reporting(0);

// 元の定義
define('CONST', 'fuga');
define(..., ...);
...
error_reporting($e);
unset($e);
?>
二重定義で怒られるのを黙らせるために警告の出力を一時的に抑止して、最後に元に戻すだけ。だせぇ。

_ 環境に応じて書き換えなきゃいけない設定ははじめから if(!defined('CONST')) define('CONST', ...); としておいてくれると、こんな小賢しい手を使わなくて済んで助かるのだが。


<< = >>
やまや