HowTo
2010年6月15日 火曜日
$xlsfilename = "test.xls"; //ファイル名
$xlspath = "/var/www/test.xls"; //実際のパス
header("Content-Type: application/vnd.ms-excel");
header('Content-Disposition: attachment; filename="'.$xlsfilename.'"');
readfile($xlspath);
これで少なくともダウンロードされる。
-->
2010年6月11日 金曜日
ところが、
http://gihyo.jp/dev/serial/01/php-security/0028?page=2
では使用禁止の禁忌として取り扱っている。
ネット上を探しても、確かに脆弱性が発見されているから使うな。という記事が多い。
ちなみにmysql_escape_stringはNGらしい。これを使うならmysql_real_escape_stringを使用せよ。とある。
ただ個人的には指南書の通りaddslashesでいきたいと思うのだが、
さてどうしたものか。
という事で、いい事を思いつく。
脆弱性が発見されて禁忌関数という事なのであれば、WordPressやECcubeでは使用されていないはず!
と思い、ソースコードを調べてみた。
WordPress内でaddslashesが使われているか調査
ECcubeでaddslashesが使われているか調査
結構出てくるじゃないですか。普通に使っているのかもしれませんよ。
ちなみにmysql_escape_stringは二つのシステムは0件、mysql_real_escape_stringはチラホラとは出てきました。
が、addslashesよりは少ないです。
ということは・・・addslashesなんじゃない?やっぱり。
間違ってたらコメントで指摘してください。
-->
2010年6月8日 火曜日
あとは最後の砦(完了用プログラムなど)にて、DBにINSERTやUPDATEする手前で、きちんと$ticketの値とセッション内のチケットを照合して、同じかどうかを試せばよい。
$ticket = $_POST['ticket'];
if( strcmp($ticket,$session->ticket)==0 )
{
//OK
}
else
{
//チケットNG。何らかの問題あり
}
・・・
//最後に$session->ticketの値は削除する事。
間違ってたら誰か指摘してくださいね。
-->
2010年6月8日 火曜日
[root@localhost test]# telnet 999.999.999 110
Trying 999.999.999.999…
Connected to 999.999.999.999 (999.999.999).
Escape character is ‘^]’.
+OK Dovecot ready.
USER test@example.com
+OK
PASS passworddesu
+OK Logged in.
終了なら
QUIT
+OK Logging out.
Connection closed by foreign host.
-->
2010年6月8日 火曜日
postfixadminを設置したディレクトリ上の
config.inc.php
で、
// Mailboxes
// If you want to store the mailboxes per domain set this to ‘YES’.
// Examples:
// YES: /usr/local/virtual/domain.tld/username@domain.tld
// NO: /usr/local/virtual/username@domain.tld
$CONF['domain_path'] = ‘YES’;
// If you don’t want to have the domain in your mailbox set this to ‘NO’.
// Examples:
// YES: /usr/local/virtual/domain.tld/username@domain.tld
// NO: /usr/local/virtual/domain.tld/username
// Note: If $CONF['domain_path'] is set to NO, this setting will be forced to YES.
$CONF['domain_in_mailbox'] = ‘YES’;
の項目を修正していけばいい。
$CONF['domain_path'] = ‘YES’;
をYESにするとドメイン名がディレクトリとして作成、Noなら作成されない。
$CONF['domain_in_mailbox'] = ‘YES’;
をYESにすると aiueo@example.comというようにドメインもついたメールアドレスのディレクトリ。
Noだと@より前(前述例だとaiueo)のみとなる。
-->
2010年6月7日 月曜日
この時、
http://~~~~/phpmyadmin
というURLは、全て/usr/share/phpMyAdminに進むように
/etc/httpd/conf.d/phpMyAdmin.conf
で設定される。
起動しようとすると、ひとまずBasic認証のようなものが出るが、これはMySQL内のユーザアカウントとパスワードを利用して入る事が出来る。
注)この記事は2010/06/07に作成したものです。未来ではこの情報は古いかもしれません。
-->