プロが教える店舗&オフィスのセキュリティ対策術

私はHTML、CSSを学んだ後、SNSサイトを作りたいと考え、PHPをやり始め、データベース(MySQL)やセッション管理などを一通り学び終えました。
レンタルサーバー(XREA)も借りて準備万端(?)といったところです。

そこで早速SNSサイトを作りたいと考えたわけですが、何かアドバイスありますか?

例えば、、、
・まず何からやり始めればいいのか(他のSNSサイトのソースを見て参考にしてからのほうがいのか等)
・セキュリティについてはどの程度学べばいいのか。学ぶとしたらどの文献を参考にしたらいいのか。
・CMSは使った方がよいか?(オススメのCMSなどがあれば教えてください)

よろしくお願いします。

A 回答 (6件)

質問をざっと拝見して、頭に浮かんだことをいくつか。



・レンタルサーバーを選択する、というのは今の時代、ありえない気がします。なぜクラウドを使わないのか?という疑問ですね。万が一、人気が出てアクセスが急増したときどうするのか。クラウドならスケールアップ/ダウンがとても簡単です。

・CMSというより、SNSの設計という段階で普通はMVCフレームワークが出てくると思うのですが、そのあたりはどう考えているのでしょう。


他にもいろいろ疑問点はありますが、個人的な意見で無責任にいわせてもらうなら、「四の五のいわずにとっとと作ってしまえ」ということですね。

とりあえず、ひと通り動くもの(アクセスしてエラーが出ないレベル)を作って、友人知人でいいので使ってもらう。で、実際に使ってもらえば、「あれがダメだ」「これがダメだ」という苦情やツッコミがどんどん出てきます。それを片っ端から対処していくのです。もちろん、プログラムが暴走するようなレベルのものは公開してはいけませんが、自分で作ってひと通り動かして「大丈夫」と思ったら、とにかく他人に使ってもらうことを考えたほうがいいと思います。

セキュリティについてなどは、最初から万全なわけがありません。何か穴を見つけたらすぐに塞ぐ、をひたすら繰り返すしかありません。これは日々、ひたすら勉強あるのみです。1冊や2冊の本を読んだくらいで鉄壁のシステムなんて作れるわけがありませんし。

そうやって、公開してから半年一年とひたすらトラブルに対応し続ければ、それなりのノウハウも蓄積されていくはずです。そうなったところで一般に公開し、本格的に広めていけばいいでしょう。くれぐれも、最初から完璧に作ろうとか、作れるとか考えてはいけません。「自分が最初に作れるのは、穴だらけのひどいシステムなんだ」と割りきり、それをどんどん改良していくんです。

昔と違い、今は誰でも自分で作って公開することが可能な世の中になっているんですから。「山ほど知識があるが何も作らない」人間より、「わずかな知識でも何かを作る」人間のほうが得るものはきっと多いはずですよ。

この回答への補足

丁寧なご指摘、アドバイスありがとうございます!

>レンタルサーバーを選択する、というのは今の時代、ありえない気がします。なぜクラウドを使わないのか?という疑問ですね。万が一、人気が出てアクセスが急増したときどうするのか。クラウドならスケールアップ/ダウンがとても簡単です。

恥ずかしながらクラウドという選択肢があるのを知りませんでした。調べてみたらアクセスが多いサイトではクラウドにするべきだということはなんとなくわかりました。しかし、現段階でアクセス数が大量に増えるとは考えにくいので、アクセス数が増えるまではレンタルサーバーでも平気ですか?見たところクラウドは料金も高そうですし。

>CMSというより、SNSの設計という段階で普通はMVCフレームワークが出てくると思うのですが、そのあたりはどう考えているのでしょう。

これまた恥ずかしながらMVCフレームワークというのを知りませんでした。FuelPHPなどですよね。
調べてみましたが、簡単に実装できて便利そうですね。やはりMVCフレームワークの方が良いのでしょうか。


本当に色々アドバイスありがとうございます!
何を使って作るか決めたらバンバン作っていきたいと思います!

補足日時:2014/08/22 22:52
    • good
    • 1

>アクセス数が増えるまではレンタルサーバーでも平気ですか?見たところクラウドは料金も高そうですし。



クラウドといってもいろいろあります。Google App EngineやHeroku、OpenShiftといったサービスは、一定のアクセス枠内なら無料です。それ以上にリソースを消費するようになったらその分だけ必要な料金を払う、という感じです。探すと、無料で始められるところは意外とありますよ。

ただ、PHPをサポートするクラウドは意外と少ないのですよね……。ですので、PHPにこだわるなら、当面、レンタルサーバーというのも一つの手だと思います。ただ、私個人は、レンタルサーバーはかったるくてやってらんねーという思いが強いのでクラウド一択です。このへんは好みの問題もありますね。


>調べてみましたが、簡単に実装できて便利そうですね。やはりMVCフレームワークの方が良いのでしょうか。

どちらもピンきりですので、どちらがいいか?という問題では無いと思います。開発するサイトにはどちらが適しているか?ですね。

ただ、開発の勉強ということも兼ねて考えるなら、何かしっかりしたMVCフレームワークを一つ使って学びながら作ったほうが、後々残るものが多いように思えます。MVCフレームワークは、現在のサーバーサイド開発の一つのスタイルとして定着しています。このMVCフレームワークの考え方や設計思想などを知っているというのは、開発者として大きな武器となるはずですから。
    • good
    • 0
この回答へのお礼

色々参考になりました!

丁寧な回答ありがとうございました!

お礼日時:2014/08/23 12:26

まず、サーバーを借りるのは最後です。

まずは自分の家でサーバーを建ててそこである程度動くものを作ってからの話です。一から作るのなら3ヶ月以上はかかると思いますし。先にレンタルサーバーを借りるのは、自動車学校の入校手続きをする前に駐車場を借りる契約をするようなものです。

無料とのことなのでまぁいいかもしれませんが。で、最初はクラウドよりレンタルサーバーで正解だと思います。どのくらいの人に利用してもらえるのかわからないし、すぐにやめてしまうかもしれないのに、わざわざ割高なクラウド借りるのは賢い選択だとは思えません。アクセス数が月10万を超えたあたりから検討してもいいとは思いますけど。


>・まず何からやり始めればいいのか(他のSNSサイトのソースを見て参考にしてからのほうがいのか等)

まずは何を作るのか考える。どんな機能・どんなデザインのページを作るのか、HTMLでとりあえず作ります。ある程度力のある人ならわざわざ人のソースなど見なくとも実装できると思いますが、勉強不足なら人のソースを見て勉強してもいいと思います。


>・セキュリティについてはどの程度学べばいいのか。学ぶとしたらどの文献を参考にしたらいいのか。
 - SQLインジェクション
 - XSS:クロスサイトスクリプティング
 - CSRF
の3つが何かとその対策を学ぶだけでいいと思います。書籍など買う必要はなく、適当にWebで検索した結果を見るだけでOKです。


>・CMSは使った方がよいか?(オススメのCMSなどがあれば教えてください)

それはあなたが何をしたいのかを考えた上で決めることです。勉強のためできるだけ自分で作りたいのか、それとも勉強をする気はなく自由度は低くともできるだけ自分はコーディングせずに楽に仕上げたいのか。

勉強のためだったら自分で作ったほうがいいと思いますけど。

フレームワークを使うならCakePHPがいいのではないかと思います。メジャーで広く使われているので、そういう仕事をする際に「CakePHPは趣味で使ってました」と言えればポイント(やや)高いと思いますので。
    • good
    • 0
この回答へのお礼

参考になりました!

ありがとうございます!

お礼日時:2014/08/23 12:28

>レンタルサーバー(XREA)も借りて準備万端(?)といったところです。



うーん、一番最後でいいことを真っ先にしてしまったか…といったところです。
まあ、XREAには無料版もあったはずなので、それなら(料金の問題は発生しないので)いつでもいいと言えばいいんですが…。

※とは言え、スペースだけ借りて長期間放置状態の契約者は、無料レンタルサーバー運営者にとってみれば迷惑な存在ですがね。

まずは、レンタルサーバーを借りるのではなく、XAMPPなどを使ってローカルで作り込む必要がありますね。
最低限試験運用可能なレベルまで作ってから、レンタルサーバーを借りるべきでした。

仮にCMSを使う場合でも同様。
いきなりレンタルサーバーでテストしてはいけない。
ローカルでテストして、自分なりに「これでいける」と判断した後にレンタルサーバーに手を出すべきです。

この回答への補足

回答ありがとうございます!

現在、XREAの無料レンタルサーバーを借りています。HTMLとCSSで作った自分のホームページを作って載せているので無駄にはしていません。

また、PHPの学習の際にXAMPPで実際にプログラムしながら練習していました。
今回も使っていこうと考えています。

補足日時:2014/08/22 23:00
    • good
    • 1

まさか、流石に無料サーバや激安サーバじゃないですよね??


SNSサイトなら負荷が掛かるのでサーバ丸ごと一台借りないと無理ですよ

共用サーバで自作PHP暴走させたら賠償金支払うことになりますよ。
    • good
    • 1

自分で設計して「作る」のが目的なのか、単に「使う」のが目的なのか・・・



>CMSは使った方がよいか?(オススメのCMSなどがあれば教えてください)

使いたいだけならOpenPNEでも設置すればいいんじゃないでしょうか。



「作る」となると、「一通り学び終えました」という段階では先が長いです。

>セキュリティについてはどの程度学べばいいのか

と言う時点で、自分で作ったモノを安定運用するのは無理そうです。習得して終わりという性質のものではありません。常に留意して最新の情報に気を配っていないとダメです。当然文献なんかありません(文献に載っている内容は「最低限」だと思ってください)。既存のCMSのバージョンアップの内容なども参照してみてください。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!