カテゴリー
Computer Development PHP Security Programming Secure Coding

JSONPは危険なので禁止

CORS問題でAJAXリクエストが失敗する場合の対策として、CORSを設定を紹介しているところまでは良いのですが、他のオプションとしてJSONPを挙げているページを見つけました。記事作成が2018年4月になっていたのでつい最近のことです。あまり知られていないようです。

誤解の無いよう正確に書いておきます。誰かに見られて困るデータが含まれる場合、JSONPは禁止です。

カテゴリー
Computer Development PHP Security Programming Secure Coding Security

JavaScriptでインジェクションリスクがある関数/機能など

Webブラウザに対するJavaScriptコードのインジェクションは

  • サーバー側のコードが原因(サーバー側のPHP、Ruby、Python、JavaScriptが原因)
  • クライアント側のコードが原因(クライアント側のJavaScriptが原因)
  • サーバーとクライアント(上記の両方)

で起きる可能性があります。ここでは主にクライアント側が関係するケースで注意しなければならない箇所を紹介します。

カテゴリー
Computer Database PHP Security Programming Secure Coding Security

コンピュータは数値さえ正確に扱えない

コンピュータで数値を正確に扱うのは「実は結構難しい」です。つまり「コンピューターは数値を正確に扱えない」という事です。「コンピューターが数値を正確に扱えない?!何を言ってるんだ?!」と思った方は是非読んでみてください。

カテゴリー
Computer Development Programming

Phalcon PHPとSails Node.jsのベンチマーク

以前にフレームワーク対決:Node.js+SailsとPHP+PhalconのベンチマークとしてPhalconとSailsのベンチマークを行ったのですが、Apacheを利用した場合のPhalconの性能が全く違うので取り敢えずブログに書きます。

このエントリはPhalcon Adventカレンダー17日目として書きました。少し前に設定がおかしいことに気づいて非公開にしていた物を修正しています。

カテゴリー
Development

Sailsで全てのCPUコアを使う

Node.jsのMVCフレームワークであるSailsはインストールも簡単で、気軽に試せます。しかし、Node.jsはシングルプロセス&スレッドで動作するので今時のマルチコアCPUではその性能はフルに発揮できません。以前はNginxなどで設定するなど、色々面倒でしたがPM2を利用すると簡単にプロセス管理が行えます。もちろんSails以外のNode.jsアプリケーションのプロセス管理にも利用できます。

カテゴリー
Computer Development Programming

CasperJS/PhantomJSでシンタックスエラー行を取得する方法

CasperJSやPhantomJSを使っていてシンタックスエラーがあると

[yohgaki@localhost ]$ casperjs test.js
SyntaxError: Parse error

と表示するだけでエラー行を返してくれません。

カテゴリー
Computer Development

フレームワーク対決:Node.js+SailsとPHP+Phalconのベンチマーク

Node.jsは速いと言われています。Node.jsのMVCフレームワークであるSailsPHP最速フレームワークであるPhalconとの性能を比較しました。