https://teratail.com/questions/92746#reply-144477
の続き
投稿型のWEBサービスをphpとjsで作りたいのですが、不正アクセスや改ざんウイルスによって、損害賠償請求をされる可能性があると聞き、どうしたらよいか迷っています。
とりあえず初めてなので、inputなどに閲覧者が入れた内容を取得しDOM生成してページ上に表記されればいいのですが、セキュリティ面も考えるとフレームワーク必須でしょうか?
http://ysktec.com/shiguregaki/blog/?p=1329を参考に
laravelをやり始めたのですが、ちょっとした投稿型のWEBサービスを作りたいだけなのに
かなりDBをいじったりlaravel特有のルーティングなどかなり大変です。
PHPはJSと違って、生のコーディングをすることはほぼないと聞いたので、
フレームワーク特有の面で難しくて大変でも、初級本をやったら、生で投稿型のWEBサービスを作ってみるのではなくいきなりフレームワークをやった方がいいのでしょうか?
それとも初級本をやった程度ではとても無理で、フレームワークを少しオリジナルの機能に変更する際に生のphpのソースを変更しないといけないので、まず生で作ってみて、危険なので質問サイトに、
ソースを公表して問題ないか確認してもらいながらサービスを始めてみるのがよいでしょうか?
生のphpを使う事なんて今時ないと聞いたのですが、それは、生のソースはわからなくても使わないから良いという事ではないのですよね?
フレームワークもちょっとオリジナルにいじる場合はlaravel特有の関数、文法ではなくあくまで生のphp
の関数、文法で変更するのですよね。
ワードプレスは、プラグインをちょっといじったり、導入したりする際に、Laravel特有の関数ではなく生のphpの関数文法で行うと聞きます。
そう考えるとワードプレスを使うならやはり生では何も作らずlaravel特有の関数文法だけ覚えても、ワードプレスが出来るようにならないので、どちらでも対応できる生のphpだけまず行い、その後Laravelをやる方が、王道なんですかね。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
投稿型のWEBサービスをphpとjsで作りたいのですが、不正アクセスや改ざんウイルスによって、損害賠償請求をされる可能性があると聞き、どうしたらよいか迷っています。
投稿型サイトで想定される訴訟リスクの一部は、セキュリティ対応は分けて考えたほうが良いです。
投稿内容によって、訴えられる可能性もあるので、規約等で縛りますが、その相談相手は弁護士になります。
セキュリティ的なリスク回避は、ノウハウによるものが大きな割合を占めるので、知見が貯まるまでは、訴訟リスクを抱えないようなコンテンツを選ぶ必要があります。例えば、個人情報等の機密情報を扱わないのであれば、データが漏洩してもたいした問題はありません。
ただし、踏み台にされた場合、巻き込まれるリスクはかなり高いので、一般的なセキュリティ対応は実施できている必要があります。
私個人の考えですが、初心者が投稿型サイトをいきなり始めるのは、リスクが高いです。投稿内容を表示することがリスクを高める要因となるので、もっと静的に近いサイトを運営してみて、どんな攻撃が来るか確かめてみてはいかがでしょうか?
サイトを公開すると、びっくりするぐらい bot が巡回しているのがわかると思います。
投稿2017/09/23 09:44
退会済みユーザー
総合スコア0
0
実務でLaravelを使っている者です。
phpとjsを学びたいということも踏まえると、
最初は学習コストが低いjavascriptの基礎的な所をやって、プログラミング言語に慣れてきた頃にPHPをやり始めるというのが良い気がします。
Laravelを使うならPHPの基礎知識(クラスや名前空間辺りまで)を押さえておいたほうが良いです。
私の場合、基礎知識はいろんなサイトをみたり、本を見たりしましたが、一番良かったのはパーフェクトPHPという本をちゃんとやったのが大きかったですね。
また、Laravelはバージョンアップでの変更が比較的多いフレームワークなので初心者がはじめに使うフレームワークとしては適していないかもしれません。まだCakePHPやCodeIgniterを使うほうが楽に覚えられると思われます。ただ、需要は明らかにLaravelは伸びてきています。
Webセキュリティに関してはとりあえず徳丸本(体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践) を読むと良いです。
最近は探せば色々とセキュリティの知識は付く状態ですが、ある程度ひとまとまりでセキュリティの知識を付けるのはネットでは難しいので本を勧めます。
大変かと思いますが、頑張ってみてください。
投稿2017/09/23 09:16
総合スコア2158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/09/23 12:40 編集
退会済みユーザー
2017/09/23 14:27
退会済みユーザー
2017/09/23 14:51
2017/09/23 14:54
2017/09/23 15:00
退会済みユーザー
2017/09/24 05:48
退会済みユーザー
2017/09/24 05:52
0
(前置き)私の「生のPHP」、「生のJS」の解釈は間違っているかもしれません
「生のPHP」の意味は、おそらくフレームワークやライブラリを使用しないでPHPだけでwebサービスを作るということかと思います。個人的には単純な機能だけが必要なら生で全然書きます。DB接続とかも簡単なので自分でやります。
javaScriptに関しても、動的なサイトを作る場合は基本的にjQueryなどを使用すると思いますので、jsも生(ライブラリやフレームワークを一切使わない)ってことは昨今少ないと思います。実際、react.js、Angular.js、vue.jsなどいっぱいあります・・・。
PHPの学習はそれほど難しくありません。フレームワークを学習するにしろ、PHPの知識は大前提となるので頑張って覚えましょう。
私なりの結論です
- PHPは気合で覚える(ドットインストールなどの動画学習サイトがオススメです)
- PHP覚えたらLaravelも頑張って覚える
- セキュリティは個人情報などを収集しないならファイルのアップロード(ウイルスをサーバーに注入される)に気をつけておけば良いでしょう。投稿型のサービスならユーザーが投稿してくるファイルやテキストを適切に処理しておけばまず問題ないはずです。不安なら作った後にこちらで質問してみると良いでしょう。webアプリケーションフレームワークを使うとそのあたり楽にはなります。
- 自前のサーバーじゃなくて提供されているレンタルサーバーを使用すれば最低限のセキュリティ対策をしてくれて不正アクセスなどもサービス提供者側である程度防御してくれるので、オススメです。
フレームワークは学習コストがそれなりに高いです。大変ですが、頑張ってください。
投稿2017/09/23 08:52
総合スコア789
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/23 14:16
退会済みユーザー
2017/09/23 14:24
退会済みユーザー
2017/09/23 14:25
2017/09/23 23:09
退会済みユーザー
2017/09/24 03:31
退会済みユーザー
2017/09/24 05:08
退会済みユーザー
2017/09/24 05:48
退会済みユーザー
2017/09/25 03:41
0
teratailにも徳丸さんの回答が多く蓄積されているので、徳丸本の書籍と合わせて確認するとWebシステムのセキュリティに関してより理解や認識が深まるかと思います。
ockeghem
また質問内容にあるフレームワークやLaravelの選定に関する考え方等は、Laravelの日本語ドキュメントの翻訳者さんの記事なども参考になるかと思います。
Laravelを使うべきか、2017
投稿2017/09/23 22:26
編集2017/09/23 22:32総合スコア4106
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/24 05:55
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/09/23 12:12
退会済みユーザー
2017/09/23 12:37