のアーカイブ

mod_rewriteを使ってURLを偽装する

2017年2月23日

wordpressディレクトリの.htaccessに  ``` RewriteEngine on RewriteRule (.*) http://URL/ [R=301,L] ``` を追加することで、自サイトに飛んできた時に好きなURLにリダイレクトや違うURLでも同じ挙動をするようにできる。 様々な表現があるので要注意。 [R]や[L]部分はしたいことによって変える必要があることにも注意!
続きを読む

lambda関数からDynamoDBにデータを追記する

2017年2月21日

put_itemを用いることでDBに追記することができる。 ``` table.put_item( Item={ 'id': event["id"], 'email': event["email"] } ) ``` しかし、put_itemは既存の要素を上書きする可能性があるので、オプションでattribute_not_existsを使用し、項目が存在し
続きを読む

htmlからtableのタグを抽出+文字のみを抽出

2017年2月16日

sedコマンドを使用することでhtmlから任意のタグのみを抽出することが出来る ``` sed -ne '///g' ``` 他にも正規表現を使うことで様々なことが出来る。  オプションの順番が違うと上手く行かないので注意が必要。 eオプションは必ず最後!
続きを読む

KeyError例外を回避

2017年2月7日

``` test = (lambda e: {"title": e["title"], "link": e["link"], "published": e["published"]}) ``` と辞書検索して要素がなかった場合KeyError例外が発生してしまうため以下のようにget関数を用いると良い。 ``` test = (lambda e: {"title": e.get("title"), "link": e.get("link"), "publ
続きを読む

無料で何でもできるサーバ管理ツールAjentiのインストール

2017年2月2日

インストール方法 CentOS6の場合は以下のコマンドでパッケージをインストール ## # curl https://raw.githubusercontent.com/ajenti/ajenti/1.x/scripts/install-rhel.sh | sh https://:8000にアクセスと出るがそのままでは無理なので、8000番ポートを開放 ``` vim /etc/sysconfig/iptables #以下を追加 -A
続きを読む

アクセスログを時間別+条件付きでソート

2016年12月20日

以下のコマンドでアクセスログを時間別+スタイルシートやJavaScript、画像、internal dummy connectionのアクセスを除く条件付きでソートすることが出来る。 grep部分が除く処理、cut部分が時間別処理をしている。 ``` cat [ログ] | grep -ive "GET /.*\.\(css\|js\|jpg\|gif\|png\|swf\|ico\)\ HTTP" | grep -v "internal dummy connecti
続きを読む

WordPressをコマンドを利用して様々な操作する

2016年11月29日

wp-cliを使用することでwordpressをコマンド上でアップデートなど様々な操作を行うことが出来る。 wp-cliのインストール方法 ``` cd /var/www/html/wordpress curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/loc
続きを読む

sedコマンド

2016年11月22日

sedコマンドでオプションに-eをつけるとディレクトリのデータが消えるらしいのでディレクトリに複数データがある場合、上書き保存の-iもオプションに追加したほうがよい。 ``` sed -i -e ```
続きを読む

Gmailを覗くため前に必要なトークン取得

2016年11月8日

# トークン取得 ``` curl -d client_id={OAuthのクライアントID} -d client_secret={OAuthのクライアントシークレット} -d redirect_uri=urn:ietf:wg:oauth:2.0:oob -d grant_type=authorization_code -d code={quickstart.pyで取得したコード} https://accounts.google.com/o/oauth2/toke
続きを読む

monitorix側のBasic認証のデコードを変更する

2016年11月1日

Basic認証側のエンコード方式がアップデートで変更されることがあるが、ソフト側が対応していない場合がある。 今回はmonitorix側が対応していなかったので、それの以下のように変更した。 monitorix側の認証のデコード部分のスクリプトは ## /usr/share/doc/monitorix-3.8.1/htpasswd.pl にあるのでここの部分を変更することでデコード方式を変えることが出来る。 ## find [ディレクトリ] -name
続きを読む

htpasswdとhtdigest

2016年10月11日

## htdigest basic認証のパスワードエンコードに用いられる ##htdigest basic認証は盗聴などが用意なので、より安全なdigest認証を用いる時に使用する 主にこのような違いがあるが、セキュリティ上は後者を用いるほうが良い。
続きを読む

squidのログ解析(SARG)のインストール

2016年10月4日

# SARGのインストール ``` wget http://liquidtelecom.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.10/sarg-2.3.10.tar.gz tar -xvzf sarg-2.3.10.tar.gz cd sarg-2.3.10 ./configure make make install ``` おそらくここでエラーが出るので、 ``` vi ./po/M
続きを読む

サーバーのCPU情報+CPUのコア数

2016年9月14日

物理CPUのコア数はCPUの数×CPU単体のコア数で算出することが出来る。 proc/cpuinfoのcpu coresは単体のコア数なので注意! # CPU情報を見る ## lscpu このコマンドを使用することで/proc/cpuinfoを見た時と同じようにCPU情報を見ることが出来る。
続きを読む

Chefを使用してパッケージをインストール&起動

2016年9月6日

# パッケージのインストール defualt.rb内 ``` package '{パッケージ名}' do action :install end ``` # 起動 defualt.rb内 ``` service "nginx" do action :start end ```
続きを読む

ローカルからサーバにファイルやデータを移す方法

2016年8月29日

# ローカルからサーバにファイルやデータを移す ローカルからサーバにファイルやデータを移す時に秘密鍵を指定しないといけない場合があります。 以下がそのコマンドの使い方です。 ## scp -i [秘密鍵名].pem [移したいファイル名] [ユーザ名@IPアドレス]:[移したいディレクトリ] ファイルを移したい場合はオプションにrを追加すればいいです。 エラーで[ファイル名] are too openと出る場合、chmodコマンドで権限のレ
続きを読む

WordPressの高速化

2016年8月19日

# Wordpressの高速化 高速化する方法としてサイトの情報(テキストや画像など)を圧縮するのがかなり有効的である。 nginxだとnginx.confにgzipを実装することで簡単に高速化することができる。 ↓設定例 ``` log_format deflate '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_byte
続きを読む

ファイルの変更点(違い)を確認するコマンド

2016年8月8日

ファイルの変更が上手くいっているか確認する時に便利 ##diff ファイル名 ファイル名 実行例↓ ``` diff www.conf www.conf.org 12c12 < listen = /var/run/php-fpm/php-fpm.sock --- > listen = 127.0.0.1:9000 39c39 < user = nginx --- > user = apache 41c41 < group = nginx
続きを読む

SQLインジェクション, XSS回避+SSL証明書発行

2016年8月5日

> SQLインジェクション回避 例↓ ``` $sql = "SELECT * FROM user_info WHERE name= ? AND password= ? "; $stmt = $dbh->prepare($sql); $stmt->execute(array($username,$userpass)); ``` > XSS回避 htmlspecialchars関数を使うことで特殊文字を変換するこ
続きを読む

サーバ接続、Root化、Bashについて+アクセスログのソート

2016年8月1日

まとめた下書きが何故か消えたので簡潔に書きます... > ・サーバー類 サーバーへの接続準備 ## chmod 600 ~/[ファイル名].pem サーバーへの接続 ## ssh -i ~/[ファイル名].pem [ユーザー名]@[サーバーIPアドレス] > ・コマンド root化 ## sudo su - ファイルの作成 ## touch > ・コマンドの履歴探索及びコマンド内での移動 長いファイル名・コマンド名を自動補完
続きを読む