memo.xight.org

日々のメモ

カテゴリ : PHP

5ページ目 / 全10ページ

AjaxFTP - PHP + Ajax で FTP

Source

<?php
	require('ajaxftp/ajaxftp.php');
	$aj = new AJAXFTP;
	$aj->server = "ftp.example.com";
	$aj->baseurl = "http://localhost/ajaxftp";
	$aj->present();
?>


Reference

SourceForge - AjaxFTP
http://sourceforge.net/projects/ajaxftp/

via

phpspot開発日誌 - PHPとAjaxでFTP機能を実現するツールの紹介
http://phpspot.org/blog/archives/2006/02/phpajaxftp.html

JavaScriptにおけるコントロール名としてのブラケット (大括弧) の利用

Summary

PHP で フォームの値を配列として受け取りたい場合,
以下のように記述するが,JavaScript で値を受け取る場合にちょっと面倒.
<input name="hoge[]" />
<input name="hoge[]" />


name が hoge[0],hoge[1] ... の場合

<input name="hoge[0]" />
<input name="hoge[1]" />


JavaScript で hoge[1] の値を取得したい.
以下の場合,配列として認識されてしまう.
document.forms[0].hoge[1].value;


elements を用いて解決.
document.forms[0].elements["hoge[1]"].value;


name が hoge[],hoge[] ... の場合

<input name="hoge[]" id="hoge0" />
<input name="hoge[]" id="hoge1" />


JavaScript で hoge[1] の値を取得したい.
getElementById を用いて解決.
document.getElementById('hoge1').value;


elements を用いて解決.
document.forms[0].elements[1].value;


Reference

Web相談室 - JavaScriptにおけるコントロール名としての[]の利用
http://www.parkcity.ne.jp/~chaichan/qanda/qa5517.htm

PHP マニュアル - 第71章 PHPとHTML - 3. HTMLフォームで配列を使用するにはどうすればよいですか?
http://php.s3.to/man/faq.html.html#faq.html.arrays

W3C Recommendation - HTML4.01 - Basic HTML data types - CDATA
http://www.w3.org/TR/html401/types.html#type-cdata

W3C Recommendation - HTML4.01 - Forms in HTML documents - The INPUT element
http://www.w3.org/TR/html401/interact/forms.html#h-17.4

FCKEditor - WYSIWYG な HTML 編集ライブラリ

Summary

<?php
	include "fckeditor.php";
	$fckObject = new FCKeditor( "edit_name") ;
	$fckObject->BasePath = "./";
	$fckEditorHtml = $fckObject->CreateHtml();
?>
<form method="post">
	<?php echo $fckEditorHtml ?>
	<input type="submit" value="send" />
</form>
<?php echo $_REQUEST['edit_name'] ?>


イメージマネージャを利用する

fckconfig.js を編集
// var _FileBrowserLanguage    = 'asp' ;   // asp | aspx | cfm | lasso | perl | php | py
var _FileBrowserLanguage    = 'php' ;   // asp | aspx | cfm | lasso | perl | php | py
// var _QuickUploadLanguage    = 'asp' ;   // asp | aspx | cfm | lasso | php
var _QuickUploadLanguage    = 'php' ;   // asp | aspx | cfm | lasso | php


editor/filemanager/browser/default/connectors/php/config.php を編集
// SECURITY: You must explicitelly enable this "connector". (Set it to "true").
// $Config['Enabled'] = false;
$Config['Enabled'] = true;

// Path to user files relative to the document root.
// $Config['UserFilesPath'] = '/UserFiles/' ;
$Config['UserFilesPath'] = '/FCKeditor/UserFiles/' ;


% mkdir /var/www/FCKeditor/UserFiles


XOOPSに組み込む

FCKeditor - xoopsに組み込む
http://www.geocities.jp/fckeditor/xoops.html




FCKEditorクラスのメソッド

メソッド名 用途
FCKeditor コンストラクタ
Create FCKEditorを実行するHTMLを出力する
CreateHtml FCKEditorを実行するHTMLを返す
IsCompatible FCKEditorが使用できるかどうか調べる
GetConfigFieldString ConfigプロパティをFCKEditorに渡すパラメータ文字列に変換する(private的関数)

FCKEditorクラスのプロパティ

プロパティ名 用途
$InstanceName インスタンスするフォーム要素名を指定する
$BasicPath FCKEditor本体のURLパスを指定する
$Width 表示するFCKEditorの幅をピクセル単位で指定する
$Height 表示するFCKEditorの高さをピクセル単位で指定する
$ToolbarSet 使用するツールバーの種類を指定する.デフォルトでは「default」と「Basic」がある
$Value FCKEditorのデフォルト文字列
$Config その他のFCKEditorの設定を配列で指定

Reference

FCKeditor - The text editor for Internet
http://www.fckeditor.net/

via

Writing/kiwameru_php_vol.1/wysiwyg-editor - よくきた wiki
http://wiki.poyo.jp/read/Writing/kiwameru_php_vol.1/wysiwyg-editor
cl.pocari.org - PHP で WYSIWYG な編集ライブラリ FCKEditor
http://cl.pocari.org/2006-01-23-2.html

メール送信元に日本語を利用する

Summary

From: MIMEエンコードされた日本語名 <user@example.com>
From全体をMIMEエンコードしてはダメ!

Sample source

$mail_encoding = 'JIS';
$local_encoding = 'EUC-JP';

mb_language('Japanese');
mb_convert_variables($mail_encoding,$local_encoding,$name);
mb_convert_variables($mail_encoding,$local_encoding,$mail);
...

$from   = mb_encode_mimeheader($name,$mail_encoding).' <'.$mail.'>';
$header =  "From: $from\n";
$header .= "Cc: $cc\n";
$header .= "Bcc: $bcc\n";

mb_send_mail($to,$title,$contents,$header);

register_globals が On の環境でも Off と同様の状態にする方法

Reference

個人的なメモと備忘録 - 2005-12-25 - register_globals が On の環境でも Off と同様の状態にする方法(2)
http://www.asahi-net.or.jp/~wv7y-kmr/note/2005-12.html#YMD20051225_PHP_register_globals

via

cl.pocari.org - register_globals が On の環境でも Off と同様の状態にする方法
http://cl.pocari.org/2005-12-27-9.html

PHPとWebアプリケーションのセキュリティについて

Summary

PHPでWebアプリケーション開発を行う際の留意点.
悪いコード例と検証コードを紹介.

php.ini 基本の設定

magic_quotes_gpc = Off;
session.use_trans_sid = 0;
session.use_only_cookie = 1
session.auto_start = 0;

Reference

PHP と Web アプリケーションのセキュリティについてのメモ
http://www.asahi-net.or.jp/~wv7y-kmr/memo/php_security.html#PHP_Session
はてなダイアリーのヘルプ - はてなダイアリーXSS対策
http://hatenadiary.g.hatena.ne.jp/keyword/%e3%81%af%e3%81%a6%e3%81%aa%e3%83%80%e3%82%a4%e3%82%a2%e3%83%aa%e3%83%bcXSS%e5%af%be%e7%ad%96

via

高木浩光@自宅の日記 - 2005-12-27 - 「サニタイズ言うなキャンペーン」とは何か
http://takagi-hiromitsu.jp/diary/20051227.html#p02

PhpMyBorder - PHP で角が丸い枠を簡単に作るライブラリ

Sample

<?php
require_once 'phpMyBorder2.class.php';
$pmb = new PhpMyBorder();
echo $pmb->begin_round('260px', 'DDDDFF', '78AAFF');
?>

コンテンツの内容

<?php
echo $pmb->end_round();
?>


Screen shot

PhpMyBorderの利用例

Reference

PhpMyBorder - add round corners by CSS
http://www.phpmyborder.com/
PhpMyBorder - Resouces and links to rounded corners, boxes and edges tutorials
http://www.phpmyborder.com/round_corners5.php

via

cl.pocari.org - 2005-12-19 - PHP で角丸枠 (CSS) を簡単に作る方法
http://cl.pocari.org/2005-12-19-2.html

Cheat Sheets Collection

Reference

Perl Cheat Sheet
http://juerd.nl/site.plp/perlcheat
Perl Cheat Sheet
http://ali.as/devel/cheatsheet.html
Perl Cheat Sheet
http://goldenink.com/perl/perlcheat.html
PHP Cheat Sheet
http://www.ilovejackdaniels.com/php/php-cheat-sheet/
JavaScript Cheat Sheet
http://www.ilovejackdaniels.com/javascript/javascript-cheat-sheet/
CSS Cheat Sheet
http://www.ilovejackdaniels.com/css/css-cheat-sheet/
mod_rewrite Cheat Sheet
http://www.ilovejackdaniels.com/cheat-sheets/mod_rewrite-cheat-sheet/
Vim Commands Cheat Sheet
http://bullium.com/support/vim.html
Cheat Sheet Roundup
http://www.petefreitag.com/item/455.cfm

サニタイズの基本

Summary

入門 Ajax pp.16 より。

[2013-03-30] 追記
このエントリは、参考にしてはいけない。

SQLインジェクション

MySQL PHP $sql = mysql_escape_string($sql);
MySQL Perl $sql =~ s/'/''/g; $sql =~ s/\\/\\\\/g;
PostgreSQL PHP $sql = pgsql_escape_string($sql);
PostgreSQL Perl $sql =~ s/'/''/g; $sql =~ s/\\/\\\\/g;
SQLite PHP $sql = sqlite_escape_string($sql);

OSインジェクション

Linux PHP $str = escapeshellarg($str);
Linux Perl $str =~ s/'/\\'/g;

XSS

PHP $str = htmlspecialchars($str);
Perl $str =~ s/

Reference

入門 Ajax - pp.16