自作Webサービスを世に出す時の注意点(セキュリティ 法律 売却)

に投稿

セキュリティ対策されているサーバ

自作サービスを世に出すために注意点などありますか? (セキュリティや権利取得などです)

また良いサービスはどのような経路で売買されるのですか?(例としては、質問箱というサービスがどこかの会社に購入された件)です。

という質問を頂いたのでそれについて考えてみます。

セキュリティで注意すべきことの一例

まず基本的なこととしてパスワードの扱いです。

ユーザー登録するようなサービスを作る場合は、パスワードをハッシュ化して登録します。

生のパスワードをデータベースに登録してはいけません。

例えば、

  • Eメールアドレス: suzuki@gmail.com
  • パスワード: pass1

っていうアカウントが登録されたとします。

これをそのままデータベースに入れちゃって、もしそのサーバーが不正侵入されてデータベースのデータを盗み見られちゃった場合まずいことがおきます。

同じEメール、パスワードで別のサービス、例えばAmazonとかFacebookにもアカウントを作っている場合です。

不正侵入者がそのアカウントを使ってAmazon、Facebookにログインできてしまいます。

買い物をしたり、友達にめちゃくちゃなメッセージを送ったりされたら困りますよね?

もちろん、不正侵入されないようにサーバのセキュリティを万全にできればいいんですが、どんなにがんばっても100%侵入されないとは言い切れません。

ですから、最悪侵入されてもユーザーに迷惑がかからないようにパスワードをハッシュ化して保存するのが作法なんです。

パスワードのハッシュ化とは、パスワードをハッシュ関数という文字列変換するプログラムに渡して、別の文字列に変換します。

こんなイメージです。

"pass1"をhash_kansuuにわたすと、"ADaeh32oawhoi547"に変換されます。これをDBに保存するんです。

その後、 suzuki@gmail.com, pass1でログインしてきたら、pass1をハッシュ関数で変換した値とDBに保存したハッシュ後パスワードを比較して一致したらログイン成功とします。

こうしておけば、生のパスワードをDBに保存することなくログイン機能を実装できます。

不正侵入してパスワードADaeh32oawhoi547を盗まれても、AmazonやFacebookにはログインできません。本当のパスワードはpass1ですからね。

このような機能はフレームワークを使えばかんたんに実装できます。

フレームワークでセキュリティ強化

フレームワークが用意してるユーザー登録APIを使えば、データベースにはハッシュ化されたパスワードが保存されるように大抵のフレームワークはなっています。

そういった機能使わずに、自分でハッシュ関数で変換するロジックを書いてもOKです。

この他にも基本的なセキュリティ脆弱性は塞いでおく必要があります。

  • クロスサイトスクリプティング
  • SQLインジェクション

など既知の脆弱性はたくさんあります。

これらの脆弱性はフレームワーク使うと防げる場合が多いですが、基本的なセキュリティ脆弱性としてどういったものがあるのかは抑えておく必要があります。

法律違反しない

権利問題としては、基本を法律を違反しないようにすることです。

最近だと漫画村っていうサイトが閉鎖されました。

漫画をアップロードして共有するサービスです。

著作権のある漫画をアップロードして共有するのは著作権違反です。

ですから、漫画をオンラインで読めるようにするサービスを作りたいならば、法律を担保してるかを考えてサービスを設計する必要があります。

法律のグレーゾーン問題

YouTubeにテレビ番組がアップロードされてるのは厳密に言えば、法律違反です。

これに対してはYouTube側も対策していて、完璧ではないにせよ、不正にアップロードされた動画は削除されています。

「法律ばかり気にしてたら、おもしろもの作れないじゃん、法律が古くて時代に合ってないって場合だってあるし」

とグレーゾーンを狙っていく人もいるかもしれませんが、どうするかは個人の選択であり、個人の責任です。

基本的には法律を守る意識で望んだほうが良いと私は考えます。

サイトの売却方法

Webサイト 売買

で検索するとサイトを売りたい人と買いたい人のマッチングをしてくれるサイトが見つかります。

そのようなサイトに登録して買い手を待つのが一つの方法です。

この他にもツイッターやFacebookなどのSNS経由で

「このサイト売りたいんですけど、買いたい人いませんか?」

って呼びかける方法もあります。確か、質問箱の人はそうやって売却してたんじゃないかなと。

サイト売却とか夢があっていいですね。

プログラミング初心者におすすめのサービス
1. 教室で学びたい派なら

プログラマカレッジは20代限定で、無料で受講できて、修了後、就職支援もしてくれるプログラミングスクールです。最高過ぎですよ、これ!!企業からの協賛金によって運営されいているため無料で受講できるんだそうです。すばらしいシステムだと思います!

30代の方には

プログラマカレッジは20代限定なので30代の方にはゼロスクがおすすめです。35歳以下なら無料で受講できます。教室も札幌、仙台、東京、大阪、神戸、福岡と全国展開しているので地方の方でも利用できます。

2. 自宅で学びたい派なら

TechAcademyの無料コースは20代限定でプログラミングのリモート学習 + 就職支援が無料で受けられるサービスです。なんといっても無料だし、就職に必要なスキルが身につけられるという意味でもやってみて損はないでしょう。

30代以上の方には

TechAcademyの無料コースは20代限定なので30代以上の方にはTechAcademyのJavaコースをおすすめします。Javaは求人が多くプログラマーとして就職したい方にはぴったりです。

3. つまづいた時に質問したくなったら

プログラマー専用の質問サイトteratailをおすすめします。 つまづいた時にteratrailで質問すれば教えてもらえます。

4. エンジニア未経験の人でも利用できる転職エージェント

ワークポートは未経験の人の転職活動も支援してくれますし、全国の求人を扱っているので地方在住の方にもご利用いただけます。お給料をもらいながら社内研修でプログラミングを学べる会社が狙い目です。

これらのサービスを活用すれば、全くの初心者からでもプログラミングをばっちり出来るようになると思います!レッツトライです!

 - 技術