カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

vsftpd PASV(passive mode)の設定

■vsftpd.confに設定追加

pasv_enable=YES #(default:YES)
pasv_address=WAN側IPアドレス
#pasv_addr_resolve=YES #(2.0.4以降)DDNS等、動的IPで使用する場合
pasv_min_port=4000 #(パッシヴ用最小ポート)
pasv_max_port=4029 #(パッシヴ用最大ポート)

※ポートは他のサービスで使用していないポートを指定すべし(ウェルノウンポート以外)

■ファイアウォール設定追加

iptables -A [INPUT もしくは Firewall Chain Name] \
-p tcp -m state --state NEW -m tcp --dport 4000:4029 -j ACCEPT

■同じくルータにも指定した範囲のポートを通すよう設定

※ポートを開いても外部からのTELNET等でのアクセスはできない

2,513 views

CodeContextObject

共通の関数などで、コード実行元のフォーム名やレポート名を
その都度参照するには、(Application.)CodeContextObjectプロパティを利用できます。

ちなみに、クロス集計クエリではこの値取得方法は利用できないようです。

4,127 views

.htaccessでキャリア振り分け

ApacheのRewrite Moduleを使用します。
Apacheに該当のモジュールが組み込まれていることを前提にしています。
組み込まれていない場合は、Apacheを再度ビルドしなければならないので、それはまた別の機会に。

モジュールが組み込まれているか確認するには、httpd.confに以下の記述があればOK。

LoadModule rewrite_module modules/mod_rewrite.so

例)ドキュメントルートに来たアクセスで携帯キャリアだった場合、モバイル用のディレクトリへリダイレクトさせる

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^(DoCoMo|KDDI|DDIPOKET|UP.Browser|J-PHONE|Vodafone|SoftBank)
RewriteRule ^$ /m/ [R]

※但し、SEO的にはよくないようだ。

1,596 views

xmlを生成する

// Create XML Object
$xml = new DOMDocument("1.0", "UTF-8");

// Make a Parent Node
$dataset = $xml->createElement("dataset");
$xml->appendChild($dataset);

$data = $xml->createElement("data");
$dataset->appendChild($data);

// make child node
$data->appendChild($xml->createElement("key", $value));

// Show Data
echo $xml->saveXML();
1,048 views

xml形式の文字列からxmlオブジェクトを生成する

$xmlstr = file_get_contents("[XMLファイル名]");
if(!$dom = domxml_open_mem($xmlstr))
{
    echo "Error while parsing the document\n";
    exit;
}
$root = $dom->document_element();
$childnodes = $root->child_nodes();
foreach ($childnodes as $value)
{
    $nodeArray[$value->tagname] = $value->get_content();
    $chnode = $value->child_nodes();

    foreach($chnode as $v)
    {
        echo $v->tagname . " : " . $v->get_content() . "<br />";
    }

    echo "<br />";
}
1,260 views