VPS(centOS6)のfirewall

VPS(centOS6)のfirewall

  1. セキュリティグループ
    主に管理パネルなどで許可する(許可していなくてもポートスキャンはLISTENになるので注意)
  2. SELinux
    扱いが厄介なので普通のコンテンツ提供だけならOFFでいいと思う。
  3. TCP Wrapper
    特定のIPからのアクセスを許可(# vi /etc/hosts.allow)、不許可する(vi /etc/hosts.deny)
  4. iptables
    ホストレベルのFirewall(#  iptables --list)

たいてい80番以外は塞がれている

国外リスト
国外アクセス拒否リスト

サーバーキャッシュ対策

<link rel="stylesheet" href="../common.css?v=1.1" />  とか

<script src="found.js?v=123"></script> とか

クエリストリングを送ってやれば別ものと理解して新しく読み込んでくれる

手動で書き換えるのも大変なのでstaticな宣言の変数で番号を増やせばいい

<?php
// Here your code !
if( isset($_COOKIE['version']) ){ // クッキーがあればその値がカウント値
  $visit = $_COOKIE['version'];
} else{ // クッキーがなければ初回訪問としてカウント値は0
  $visit = 0;
}
 
$visit++; // カウント値+1
setcookie('version', $visit); // 有効期限なしのクッキーを設定
?>
<link rel="stylesheet" href="../common.css?v=<?= $visit ?>" />

nginxでBasic認証する

yum -y install git apt
# cd /etc/nginx
# htpasswd -c .htpasswd あんたのユーザー名
New password: 秘密のパスワード
Re-type new password:

/etc/nginx/conf.d/default.conf 編集
location /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.パスワード格納ファイル名;
}

nginxでphpinfo()までの険しい道のり

centos7+nginx+php7

phpの起動
# systemctl start php-fpm
# systemctl status php-fpm
 php-fpm.service - The PHP FastCGI Process Manager  省略~

現象 phpを開くとブラウザがダウンロードしようとする

/etc/nginx/nginx.conf の編集で解決
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /var/www/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
root /var/www/html; #上と同じにする
index index.html index.htm;
}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000; # unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # ←こうする
include fastcgi_params;
}

# nginx -s reload 再起動

現象 phpを開くとserver error 500

必ずしもパーミッションではない。
nginxのエラーログでsyntax error を確認

curl で実行
curl -H "Host: dummy.example.com" http://127.0.0.1/html/info.php

その他いろいろ設定してSSL Reportで評価A+


											

mac 起動ドライブ変更

Optionキー (Alt) 起動直後に押し続ける。複数モニタなら一つにしておく

Command + R

OsXユーティリティが起動する → ディスクから修復を選んで「続ける」 →ドライブ選択できるので同じかも

Linuxで使うネットワーク系コマンド

対象IPへの経路を確認する

【コマンド】traceroute -n 8.8.8.8

▼ネットワークの接続状況を確認する

【コマンド】netstat -an

ドメイン名の詳細を調べる

【コマンド】dig rpapaweb.com

 

[Linux]tcpdumpの使い方

Linuxサーバでのパケットキャプチャを実施する場合に重宝する「tcpdump」でよく使うコマンド

▼IPを指定する場合

tcpdump host 192.168.100.1

▼ネットワークアドレスで指定する場合

tcpdump net 192.168.100.0 mask 255.255.255.0

▼ポート番号を指定する場合

tcpdump port 80

 

iptables

iptables は Linux カーネルの IP パケットフィルタルールのテーブルを 設定・管理・検査するために使われる。

GitからリポジトリをプロジェクトにPull Eclipce (PDT)使い方

GithubからプロジェクトごとPull

GithubにあるリポジトリからEclipceにプロジェクトをPullします

  1. Eclipceで file → import
  2. Project From Gitを選択
  3. URIを選択し、次へをクリック
  4. GitHubのURI、ユーザー、パスワードを入力し、次へをクリック。
    https を入れるとパスワード認証になるので、自分のGitアカウントを入れる
  5. pullしたいブランチを選んでNext x3くらいで全部ダウンロードできる。

SublimeText3 でリモートファイルを直接編集(っぽく操作)

プラグインの「SFTP」を使ってやります。インストール方法とかはこのサイトに書いているのではじめに入れておきましょう。
設定はここから

下線と赤枠のところを書き換える

リモートとローカルのファイルの整合性を取るため、どっちかやっておきます

編集したファイルをアップするショートカット

Ctrl+Alt+u →(のあと直ちに) f

やってられないので、キーバインドを[Ctrl+Alt+s]に変更します。

この一行をコピー

こっちに貼り付けます

サブフォルダのファイルもちゃんとリモートのサブフォルダに保存できます

別のフォルダを別のサーバーに繋ぐ設定も別ファイルに保存できます

今から作るのは別のサーバの設定

Powerpoint2016のデフォルトテンプレートを3:4にするには

パワーポイントのデフォルトの設定を変更します

  1. デザインメニュー辺りから3:4に
  2. ファイル→名前をつけて保存→ PowerPointテンプレート(potx)選択
  3. Nomal.potx とかにして保存 (場所は勝手にDocumentのOfficeテンプレートになる)
  4. スタート→パワポのショートカットを右クリ→ その他→ ファイルの場所を開く
  5. ショートカット本体を更に右クリ→ プロパティ→
    リンク先をにDocumentのOfficeテンプレートに作ったNomal.potxに変更する

ChromeのHTML5動画再生で緑の画面

Amazonビデオ、Youtubeで再生する動画が緑色になる現象
設定→ 詳細→ハードウェアアクセラレーションのチェックをOFF

 

Chrome再起動で解決!

wp-config.phpへのパス 移動

プラグインとして読み込まれている場合

../wp-config.php

プラグインディレクトリの孤立ファイルからの相対パスなら

 ../../../wp-config.php

wp-config.phpを移動している場合は../が一つ増えるので注意・

非公開ディレクトリに移動の件

そのままmvで移動、wp-config.phpは同じ場所に新たに作成して、require '../wp-config.php' にしておけ
ちなみに WinのXAMPP環境なら C:\XAMPP.. とかフルパスで書かないと読まれないらしい。

phpMyadmin CSSカスタマイズ & CSSの強度

"\phpMyAdmin\themes\sprites.css.php"

内にCSSを追加するだけ。一応 !important しておく

補足

セレクタによるCSSの強度(まとめ)

  1. 値の 右に!importantをつけると最強
  2. インラインスタイル
  3. idセレクタが単独でも強い ()
  4. 親指定した複合セレクタが強い。祖先を指定するほど強い
  5. 親よりも自分のタグにあてられたほうが強い
  6. 下の行に書いたほうが強い (複数cssも同じ+ヘッダースタイルも)

bindValueでループしてSQL文作成

  $sql = 'DELETE FROM tablename WHERE ';
  $j=count($_POST['chk']);
    for ($i=0; $i < $j; $i++) { if ($i === 0 ) { $sql .= ' id=? '; }else{ $sql .= ' OR id=? '; } } $sth = $dbh -> prepare($sql);
  
    $i=1;
    foreach ($_POST['chk'] as $chk) {
      $id = (int)$chk;
      $sth -> bindValue($i, $id, PDO::PARAM_INT);
      $i++;
    }
   
    $sth -> execute(); 
 

SQLのexecute()をループの中に書くべきではない。
複数のバインドを行ってから一回のexecuteを実行するべき

 


INSERTの場合

$colum_name = array("sei","mei","sei_kn","mei_kn","ybn","pref","city","addr","tel","mail");
$key_array = array('姓','名','セイ','メイ','〒','都道府県','市町村','以降の住所','TEL','メール');
$cname='';$cvalues='';
foreach ($colum_name as $v) {
$cname .= $v .',';
$cvalues .= ':' . $v .',' ;
}
$cname= rtrim($cname,',') ;
$cvalues = rtrim($cvalues,',');
//$sql="INSERT INTO kokyak( $cname ) VALUES (?,?,?,?,?,?,?,?,?,?) ";
$sql="INSERT INTO kokyak( $cname ) VALUES ( $cvalues ) ";
echo $sql .PHP_EOL;
$sth = $dbh->prepare($sql);
$dbh->beginTransaction();//トランザクション処理を開始 
try {
// bindValueは値をバインドします。
// bindParamは変数をバインドします。評価は実行時です。
foreach ($colum_name as $k => $v) {
$sth->bindValue(":$v", "{$post_hash[$key_array[$k]]}", PDO::PARAM_STR);

}
$sth->execute();

正規表現 すべての記号を除去

$acl = preg_replace('/[^ぁ-んァ-ンーa-zA-Z0-9一-0-9\-\r]+/u','' ,$_POST['acl']);

特殊記号の排除

別のプログラムに与えるパラメータに用いる文字種を英数字のみ等安全なものに限定し、検査してから渡す。

bashの場合、次の特殊記号は別コマンドの実行に使われるものとして特に警戒する。

「;」「|」「&」「`」「(」「)」

また、次の特殊記号もファイルへのアクセスが起こったりコマンドの意味が変わり得るので警戒する。

「$」「<」「>」「*」「?」「{」「}」「[」「]」「!」

Windows10 net user ユーザーコマンド 追加

スタートを右クリック → コマンドプロンプト管理者


アカウントの作成/削除   ……ユーザー名「username」 をパスワード「passeord」で追加する場合
   net user username password /add 
    削除ならオプションは /delete 

管理者にする
   net localgroup administrators username /add 

パスワードを無期限にする
   net accounts /MAXPWAGE:UNLIMITED
     コマンドは正常に・・・

一応確認
  net user アカウント
      パスワード有効期間   無期限これでOK

Administratorでログインするためのコマンド
   net user administrator password /active:yes

アカウント削除
   C:\>net user username /delete

Ec-cube サブドメイン さくら html除去 htaccess

 

  1. サーバー管理画面から、サブドメインを作る。例)store.ultimai.org > ultimai.org/ec/html を参照させる
  2. クイックインストールで、ultimai.org/ec/ にインストール
  3. Ec-cubeの設定(セットアップ)になったら、store.ultimai.org(サブドメイン)で開き直す。
  4. 完了後 store.ultimai.org だと Access forbidden! になるので
    html/.htaccess を編集 RewriteRule ^(.*)$ /index.php [QSA,L]  スラッシュをつけるだけ
  5. これにて store.ultimai.org だけでTOPページにたどりつける。
    他のリンクも大丈夫だ。

 
管理画面にもこの設定後ならサブドメインで入れた。

EC-cube3カスタマイズ スライドショウ 画像追加

ec-2EC-cubeのデフォルトのテーマにあるスライドショウに画像を追加、削除、変更するカスタマイズ。

ファイルはsrc/Eccube/Resource/template/default/index.twig

ファイルさえわかればあとは増やせばいい。

ec-3

Apnata3にWordPress関数のコードアシスト追加

Windows環境のばあいは先にmintyを入れておいてください。
Windowsにminttyを入れた話

AptanaではGit commandがないと言われる。(インストール時に入れたつもりだったが・・)

仕方ないので入れてみる
すごく丁寧な記事へのリンク

あとはメニューバーの command → BundleDevelopment → InstallBundle → WordPress だけでOK
git_command001

やってみたところうまくいったようだ。

aptana3-jquery