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

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

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

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

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

Q&A

解決済

1回答

2705閲覧

データベースのカラム名を知られることは

youten

総合スコア29

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

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

1グッド

0クリップ

投稿2016/06/26 06:06

現在、ウェブサイトを作成中でありまして、
日々勉強中の身です。宜しくお願いします。

現在作成中のウェブサイトにデータを検索できるシステムを
作成しました。

例えばデータ1つ1つに、商品名(データベースカラム名:goods_name)を
保持しており、商品検索ページで商品名を検索できる形なのですが、
商品検索ページで、商品名を入れるテキストエリアを下記とした場合、
<input type="text" name="goods_name">
例えば、ソースを第3者に見られた場合、商品名はデータベースに
goods_nameで登録されている、というのが、わかりえてしまいます。

恐らく、セキュリティ的に問題かと思うのですが、
どういう影響があり、問題でしょうか?

また、上記にかかわらず色々なページでデータベースのカラム名が
わかってしまうような形で作成してしまい、
手直しすると色々と不具合が生じるので、どうしたらよいものか悩んでおります。
例:商品Noをgoods_noで登録しているのですが、商品詳細ページの
URLは/detail/page.php?goods_no=100
などで表示するようになっています。

すべてを手直しせず、セキュリティ的にもクリアできる、
方法がありましたら、教えてください。
※ちなみに上記のウェブサイトは会員制になっており、
IDパスでログインして閲覧するような仕様です。

※そもそも、上記の仕様でなぜセキュリティ的に問題なのか、
いまいち理解できず、教えて頂けますと非常にうれしいです。

宜しくお願いします。

KiyoshiMotoki👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

たしかに、「わからないほうがいいか」と言われれば答えは「そのほうがいい」ですが、はっきり言って優先度はそんなに高くありません。

というのも、カラム名がわかったところでDBサーバに侵入されなければどうということもないわけですし、DBサーバへの侵入経路があれば、列名がわかろうがわかるまいが大問題です。

とりわけ、フレームワークによっては、DBの列名―モデルの属性名―フォームのnameが自動で同じとなるように生成するものがあって、そこまで変えるとなればかなりコストが嵩むかもしれません。

投稿2016/06/26 06:15

maisumakun

総合スコア145121

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

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

youten

2016/06/26 06:18

maisumakun様 大変ありがとうございます! 勉強になりました。 今後とも、宜しくお願い申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問