現在、とても暇しております。
つきましては、絶賛お仕事募集です。
主にPHPによるWebアプリをやっております。
現在、とても暇しております。
つきましては、絶賛お仕事募集です。
主にPHPによるWebアプリをやっております。
PHPカンファレンス福岡2016に参加してきました。
興味深かった内容を簡単に挙げておきます。
「PHPで学ぶコンピュータアーキテクチャ」と題して、PHPで作られた任天堂ゲームボーイのエミュレータについて解説いただきました。
CPUはシャープ製のZ80サブセット(?)だそうです。このエミュレーターでは、CPUのすべてのコマンド(ニーモニック)を愚直に実装しているそうです。
メモリについても同様です。また、I/Oポートがメモリマップドであるため、メモリアドレスに応じて処理を変えるなんてこともやってるそうです。
8bit CPUだとメモリ空間も64KBなので、今のPCからすると、ちょろいもんなんですね。
「ロリポップ!で目指す、PHPのためのセキュリティと性能要件を同時に満たすサーバホスティング技術」では、apacheのソースに手を加えて、より多くのユーザーを一台のサーバーに納めるための手法の解説でした。
各ユーザー権限でapacheやphpが動いてしまうと、大人数のユーザーが入っているサーバーではすぐにリソースが足りなくなってしまうわけですが、rootで動いているapacheの権限を各ユーザーにふり直すようなことをしているんだそうです(話がかなり高度で、十分理解できず)。
登壇者、お名前をググってみたら、実はとっても凄い人だった(笑)
「CakePHP3で学ぶAPIマネジメント」「今こそCakePHP3に乗り換えよう!」は、タイトル通り。
今回一番聞きたかったお話。
やっぱりCake3に移行するべきですなあ。
「PHPerに知ってほしいRDBの事 バージョン 2」はデータベースまわりのお話し。
今後、“削除フラグ”なんちゅうカラムは、作らないようにします(笑)
「PHPデベロッパーのためのJavaScriptセキュリティ入門」もタイトル通り。
最近、JavaScriptまわりも結構触るようになってきたんで、参考になりました。
Ubuntu 14.04 LTSのsambaを4.3.9にアップデートしました。
そうしたら、何故か、netatalkで接続できなくなりました。
sambaをアップデートしたら、netatalkがつかっていたライブラリも変わったのか?とも思ったので、netatalkについても3.1.7から3.1.8へあげてみました。
が、現象は変わらず。
間違ったパスワードを入力すると、ログインに失敗しているようなので、認証とは別のところに原因があるようです。
とりあえず、放置。
netatalkはやめて、sambaに変えろというお告げかな?(笑)
最近のWebブラウザーは、認証情報を保持しておいて、それを勝手に入力します。
それはそれで大変便利なんですが、とある案件では、これが困った状況を引き起こしました。
formタグには、
autocomplete=”off”
とすることで、Webブラウザーのオートコンプリート機能をオフにすることができるとあります。
が、以下のサイトなどを見ますと、autocomplete=”off”は無視するのが普通のようです。
フォームのオートコンプリートを無効にするには
特にFirefoxのそれは強情で、何が何でも記憶しているパスワードを補完してくるようです。
色々調べた結果、本来のパスワード入力欄の前に、
<input style="display:none" type="password" />
というダミーのパスワード入力欄を作成すれば、この問題を回避できるようです。
便利なのか不便なのかわからん…
CakePHPでフォームがpostされたかどうかは、
$this->request->is(‘post’);
で判定できるのですが…
過去記事の編集では、
$this->request->is([‘post’,’put’]);
としないといけないようです。
idがあると、$this->request->is(‘post’)はTRUEにならず、$this->request->is(‘put’)がTRUEになるようです。
今更ですが、小一時間はまってしまいました…
OWASP DAY 2016 Springに参加してきました。
今回は、Webアプリの脆弱性診断についての手法やアプリについてのお話がメインでした。
OWASPが出している脆弱性診断のガイドライン。
https://www.owasp.org/index.php/OWASP_Testing_Guide_v4_Table_of_Contents
いくつか脆弱性診断アプリを初回していただきましたが、以下の二つを試してみようかと思います。
OWASP Zed Attack Proxy Project
Burp Suite
とりあえず、何かしないと始まらないですし(笑)
http://d.hatena.ne.jp/barikata-sec/
以前から興味はあったのですが、ようやく参加できました。
最近のマルウェアのお話が聞けたのが良かった。
最近のセキュリティ絡みの話は、政治とリンクしている部分も見え隠れしてて、なんだかきな臭いですなあ。
とりあえず踏み台にされないようにしとかないと。
法人として7〜8年やってきましたが、今回はじめて県税と市税の予定申告の書類が送られてきました。
前年度の納税額が一定額を超えると送られてくるらしい。
しかしながら、今年はからっきしで仕事があまり無い状態なので、ここで予定額を納付しても、確定申告で払い戻されることは必至の状況です。
当社のホームページをリニューアルしました。
といっても、BaserCMSで固定ページを作っただけです。
実は、はじめてさわるシステムでした。
BaserCMSのベースであるCakePHPを普段から使っているのですが、CakePHPを意識する箇所はほとんどなかったです。
ま、デフォルトのまま使っているから当然といえば当然ですが…
最近、ぼちぼちredmineを使いはじめています。
同じ制作会社さんの複数の案件ということであれば、都度プロジェクトを作っていけば良いのですが、異なる制作会社さんやクライアントさんの案件の場合は、ちょっと不安です。
これは、redmineの問題ではなく、運用側、すなわち僕の問題です。
データベースも含めて、すっぱり異なる環境で動かすほうが安心です(多分)。
ということで、ちょっと調べて試してみました。
以下、備忘録代わりです。
前提:Ubuntu 14.04 LTSにて、提供されているredmine(Ver 2.4.2)のパッケージを使う。
1) redmineのコピー
/usr/share/redmine
を
/usr/share/redmine02
といった名称でコピーする
2) 設定ファイルのコピー
/etc/redmine/default
を、
/usr/share/redmine02/default
としてコピーする
3) 設定ファイルの編集〜その1〜
設定ファイルを参照している箇所を編集する
/usr/share/redmine02/config/application.rb
の10行目あたりにある
ENV[‘RAILS_ETC’] ||= “/etc/redmine/#{ENV[‘X_DEBIAN_SITEID’]}”
の/etc/redmineを/usr/share/redmine02に変更する
4) 設定ファイルの編集〜その2〜
/usr/share/redmine02/default/database.yml
を編集し、使用するデータベースを変更する
5) DB作成
mysqlに4)で設定したDBを作る(順番が逆?)
bundle exec rake generate_secret_token
を実行してセッショントークンを再作成
RAILS_ENV=production bundle exec rake db:migrate
を実行してデータベース作成
6) apache設定ファイル作成
/etc/apache2/sites-availableに新しいredmineの設定ファイルを作り、/etc/apache2/sites-enabledへそれのリンクを張って、apacheを再起動
ついでにbindにもCNAMEレコードを追加して、bindを再起動
これでOK!(多分)