$config[‘cookie_secure’] の値でハマる

ログインで、照合したらメイン画面にリダイレクトするような流れで処理を作って、動かしたらあらら??

・CSRFが通らない
・そもそもセッションデータが維持されない

なんでだろなんでだろなんでだろ?
ひたすら3時間ぐらい悩んだあとによーく config.php を見ていたら、

$config[‘cookie_secure’] = TRUE

となっていて、今、非SSLでテストしているのにこれは違うなと思って FALSE に変更したらうまく動いた。先にクッキーを調べていたらもっと早く解決していたかも。

で、知り合いに教えてもらったのは、この値をSSLの有無で判定して設定したら環境気にしなくてもいいということで、なるほどと思った。(ただし、$_SERVER[‘HTTPS’]の値を見るだけでは環境によっては使えない場合もある)

CodeIgniter ひさびさ

CodeIgniter

久しぶりにこの画面見た。

いろんな開発やりたいけれども、制作も一杯あってなかなか出来ませんな。

協力者求む!! みたいな。

開発というより制作の方、手伝ってくれる人が居たら良いなー、って最近思うけど。

とりあえず今日はDB作ってシステムセットアップが終わったところ。
明日は管理画面の処理を作る。

CodeIgniterでの開発もこれで3つめかな。前に書いたコードとか割と使い回せるので、今回は少し楽にやれそうな気はする。

案件3つ抱えたら納期は3倍でした。

今年の3月ぐらいから3つの案件を同時に抱えた。
サイト構築2つとWebサービスの開発1つ。
いまは6月になったところ。2つの作業は概ね終わり、あと1つが残っているけど、それもそろそろ終わりそう。

開発は別として、通常1ヶ月前後で終わるから、やはり3つ同時に抱えると3ヶ月はかかってしまうんだなーというのが実体験として、体で理解できた。(笑)

以前、一緒にお仕事したディレクターさんなどは、案件4つ5つは同時に回しているらしいけど、やはり分業でやっているからそれでもなんとかいけるんだろうなと思う。全部やっててそんなに抱えたら終わってしまうよね。
うちも分業でやれたらお客さんを待たせてしまうこともないし、もうちょっと周辺も賑やかになっていいなーとは思うけど。

この3ヶ月はしんどかったなー

開発が絡んでいたのがとくにしんどかったけど、今回は本当に勉強になったと思う。
初めてやるようなことが多かったから、情報収集と試行錯誤に相当な時間を使った。

<例えば>

・WordPressで多くの部分をユーザーが編集できるようにするために、カスタムフィールド、ウィジェット使いまくり。

・事例などのスライドコンテンツのjQueryを自作。

・変に凝ったスマホのナビゲーションを作ってしまってやり直しに(汗)

・CodeIgniter使って初めてのWebサービス開発。MVCの理解とか、メソッドの構成とか結構悩んだ。それに普通のCMSとかと全然違うシステムなので、ロジック自体を考えるのが大変だった。

・Ajax使いまくり。つまりJSとPHPフレームワークの組み合わせ。やはりもう、jQueryから最近流行りのJSフレームワークに移行した方が良いのかなと思い始める。

・将来的に誰かと共同開発とかするためには Git もマスターしないといけないから、今その辺やってるところ。

<逆に楽だったこと>

・デザイン。これはAdobe XDを使ったことが功を奏していると思う。人によって使える/使えないの見解まちまちだけど、僕はとても助かった。デザインに時間かからなかった分、コード書くことに集中できた。

・それとやはり、CodeIgniterというフレームワークが使えるようになったこと。セオリーにしたがって組んでいくと、自ずとそれらしいものが出来上がってくるというのはありがたい。スクラッチよりは相当早くシステムが構築できているんじゃないかと思う。
これからもどんどんアプリケーション作りたいという「希望」のようなものが生まれてくる。(^^)

というわけで、しばらくはのんびりしたい気持ちでいっぱい。

Webサービス作り中・・

いまちょっと内緒でWebサービスを作ってるんだけど・・ (^^)
で、CodeIgniterで作っているわけですな。
なかなかCIでやれそうな案件がなくて、今回は「ようやく訪れた春」みたいな感じなので、これはちょっと頑張らないといけないなと。
だけど、相変わらず制作業務が混み合っていて、なかなか開発に時間を使えない。

基本の画面数は3〜4枚ぐらいしかないけど、データベースのテーブルは10個ぐらいにはなる。(中身はちょっとしかない) 従来、スクラッチで作ったシステムでは、テーブル同士の紐付けはどちらかのIDを使ってやっていたけど、今回はWordPressを参考にして、紐付け用のテーブルを設けることにしたので数が増えた。

フロントとはAjax(jQuery)で通信して、画面遷移もほとんどないし、なんか簡単そうに見えるから楽に考えていたのだが、意外とつまずいている。なーんだ、まだAjaxに全然慣れていないじゃないか!(汗;)

それから、今回は開発日誌を書いている。開発案件で実質どのくらい時間を使うものなのかを把握するためだ。
こんな感じ。↓

日付と作業内容と掛かった時間を書くだけの簡単なもの。
見積もりが妥当だったかどうかも、これで分かるようになると思う。(実は見積もりは工数はあまり考えずに雰囲気で出している。それと、依頼元の予算とこちらのやる気を天秤にかけてバランスする辺りでFIXしている。)

まあそんな感じで、納品までまだまだやること一杯あるわけなので、何が起こるかわからないけど、できるだけ楽しんでやっていこうと思う。CodeIgniterが細かい処理の部分(たとえばセッションとかデータの出し入れとかサニタイズとか・・)をきちんとやってくれるので、あまり横道にそれないで、基本の流れに集中しながら開発できるところは、効率的で良いと感じている。