質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

3167閲覧

ソースコードが見える場合のセキュリティーキーの書き方

kekemoto

総合スコア34

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

3クリップ

投稿2015/09/20 12:27

編集2015/09/20 14:46

オープンソースでwebサイトのプログラムを公開してみたいのですが、その場合、セキュリティーキーや、パスワードなどが誰にでも見えてしまうのは困るのですが、どうすればいいのでしょうか。

例えば、
phpとmysqlで通信する際のユーザー名とパスワードを隠したい。
javascriptからAjaxを使う。そのときにjavascriptで暗号化するときのキー。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2015/09/20 13:21

自分の作ったソフトをオープンソースとして公開したいのか?他人の作ったオープンソースを使ってみたいのか? 何のセキュリティーキー?何のパスワード?
kekemoto

2015/09/20 14:36

自分が作ったソフト(webページ)を公開したいです。 例えばphpとmysqlで通信する際のユーザー名とパスワードを隠したい。 javascriptからAjaxを使う。そのときにjavascriptで暗号化するときのキー。
guest

回答3

0

yubaさんの回答の

MySQLへの接続情報は、インストールの際に環境変数として指定するというのを仕様にするのがいいかと思います。環境変数でなく設定ファイルという方法も。

に捕捉します。

direnvというツールを使うと設定したフォルダにアクセスした時にのみ有効になる環境変数を設定できます。

参考: direnvを使おう

投稿2015/09/20 16:32

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

  • MySQLへの接続情報は、インストールの際に環境変数として指定するというのを仕様にするのがいいかと思います。環境変数でなく設定ファイルという方法も。
  • Javascriptで独自にキーを持って暗号化するという方式はセキュリティ上おすすめしません。ソース公開濃霧にかかわらず、コード上でキーが丸見えですから。HTTPSという確立された方法がありますのでこれを使うのが唯一の正しいセキュリティになります。

投稿2015/09/20 16:01

yuba

総合スコア5568

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kekemoto

2015/09/20 16:46

思い違いをしていました。ありがとうございます
guest

0

プログラムの様態が分かりませんでしたので、思い着くまま箇条書きにしてみました。

・プログラムに埋め込まず、外部ファイルから読み込むようにしておき、外部ファイルは実行の際に利用者に設定してもらう
・実行の際に引数として受け取るようにする
・Makefileにコンパイルする方にて、変数として設定してもらう
・公開版はサンプルのID/PASSにしておいて、変更を促すようREADMEに明記する

投稿2015/09/20 12:39

Ken.sakanakana

総合スコア1768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kekemoto

2015/09/20 14:49

すみません。情報が足りてませんでした。 追加したシチュエーションだと、回答の方法がとれないと思います。
Ken.sakanakana

2015/09/20 17:14

なるほど;-) php mysql間は、グローバル経由で接続はあまりしないので、php埋め込みですが、設置の時に、ココ変えてねと、言う風にされていますね :-) docker hubの公式mysqlも環境変数で渡してあげる感じで設定しますし。 javascriptからAPIをつつくところはそもそも、パスワードのやり取りなどせず、その前に認証をして、セッション管理しているはずなので、プログラムにID/PASSを持つことはありませんね。。。 解決してよかったです :-)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問