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

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

新規登録して質問してみよう
ただいま回答率
85.47%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

1015閲覧

Ruby on RailsでSQLを使う時に内容を隠す方法がわからない

chris

総合スコア13

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2016/04/29 13:57

SQLを直接Ruby on rails ベースのアプリケーションで活用したい場合、どのように使用すれば、セキュリティ上SQLの中身がわからないで済むでしょうか?

それに関連して、railsでprivateを使って、パラメーターを隠す操作をすることがあるのは知っています。ただ、理解不足のために、全部のコードをprivateで隠せばいいのではないかと考えたりするのです。

以下の二点を質問させてください。

・sqlの原文(そこそこ複雑なものを予定しており、関数F(x)の値域xを関数によって求めます。例えば、F(g(x))のように)をセキュリティ上隠すためにはどのようにコーディングすればいいか?

・privateを活用して出来ると予想するが、原理が理解できておらず、例えば、すべてのコードをprivateにしないのはなぜか?するものとしないコードの違いは何か?

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

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

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

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

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

guest

回答1

0

ベストアンサー

SQLを隠したいとのことですが、セキュリティで言えば、ソースにアクセスできる権限を持っていれば Ruby では隠すことはできないです。コンパイルで難読化できる言語から呼び出すようにしたほうがいいかもしれません。
外からの利用ユーザーから隠すのであれば、SQL文やソース自体を出力しなければ見えることはないです。(出力結果から推測されることはあり得ます。)

privateはセキュリティ上は役に立たないでしょう。Rubyのprivateの意味はJAVAのような隠蔽とは違って外部から使わないでと宣言するもので、公開したいかしたくないかを区別するときに使われるかと思います。

投稿2016/04/29 16:34

miyamiya

総合スコア691

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問