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

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

新規登録して質問してみよう
ただいま回答率
85.48%
参照

参照は、プログラミングにおいて変数や関数といったメモリ空間上での所在を指示するデータのことを指します。その中にはデータ自体は含まれず、他の場所にある情報を間接的に指示するプログラムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

セキュリティー

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

PHP

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

2521閲覧

DB接続をするファイルをrequireで読み込む際のセキュリティ対策

mocha1325

総合スコア20

参照

参照は、プログラミングにおいて変数や関数といったメモリ空間上での所在を指示するデータのことを指します。その中にはデータ自体は含まれず、他の場所にある情報を間接的に指示するプログラムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

セキュリティー

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

PHP

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

2クリップ

投稿2021/01/27 02:41

編集2021/01/27 09:09

DBに接続をするファイルをrequireで読み込む時のインジェクション攻撃対策についてです。
(その他にもやっておくべき対策があれば是非ご教授くださいm(_ _)m)

調べてみたところ書き換え防止策として、defineを使って定数を定義する方やファイルの階層を分ける方など人によって様々な対策法があったのですが、このようなデータベース接続ファイルを分ける時のセキュリティ対策などのまとめが見つけられませんでした。
最低限これはやっておくべき、や別ファイルから読み込みをする際のソースコードや参考にしたまとめ、または皆様はこのような時にどういうところからコードを参考にしているかなど教えていただけますと有難いです。

最後まで読んでいただきありがとうございます!

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

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

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

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

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

maisumakun

2021/01/27 02:53

「どのような攻撃」に対するセキュリティ対策でしょうか? (どんな攻撃にも対応できる最強で万能な対策は、「サーバを完全に止めて何も行わない」ことだけです)
68user

2021/01/27 09:52

「DBに接続をするファイル」って、DB接続時のID/Password などが書いてあるファイル、という理解でいいんでしょうか。
mocha1325

2021/01/27 11:44

度々説明不足な部分がたくさんあり申し訳ございません。。 「DBに接続をするファイル」についてはDB接続に必要な情報が書いてあるファイル、という意味で質問させていただきました! 調べてみたところ、二つのファイルに分けて書く方を多く見つけたのですが、恥ずかしながらなぜ分けるのかも理解できておりません。。 何卒よろしくお願いいたしますm(_ _)m
guest

回答1

0

ベストアンサー

PHPコードはファイルを直接開かれない限りはブラウザから見てもコマンドでも実行結果、出力された情報しか見られることはないので、出力しなければどこに置いたとして漏れることはないです。
ただ、「ブラウザから参照でる領域」に持っておくと場所を知られる可能性があるので、「ブラウザから参照できない領域」に持っておくのがベターです。
既存フレームワークなどは、ドキュメントルート配下はindex.phpだけというパターンが多いです。

ちなみに、過去にも何度か同じような回答をした記憶があるので「見つけられない」ということはないと思います。おそらく探し方の問題もあるでしょうね。

投稿2021/01/27 02:45

m.ts10806

総合スコア80850

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

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

mocha1325

2021/02/05 05:45

ご回答いただきありがとうございます! 私の知識が浅いこともあり質問もわかりにくくなってしまい申し訳ないです。 >>過去にも何度か同じような回答をした記憶があるので「見つけられない」ということはないと思います。おそらく探し方の問題もあるでしょうね。 おっしゃる通りだと思います。 requireはあまり使ったことがなかったので今回使用するにあたりセキュリティ面で工夫すべき点がどこだろう?と思い探していたのですが、みなさんの書き方がそれぞれ違くどこまでを工夫すれば良いのかわからなくなってしまった(調べ方もわからない)ため質問させていただきました。 基礎のセキュリティについてまずは学び直してみようと思います。 ご回答ありがとうございました!
m.ts10806

2021/02/05 05:52

「見つけた」「みなさんの」 など、具体的な情報を出さないままだと誰も良し悪しを判断できません。 結局は「何を想定しているか」「何を守るか」など含めた「決め」の問題です。 「how」先行なので分からなくなります。 「why」「what」を先行すればアプリケーションとして意味が宿ります。 おまじないなんてものは本質的には存在しません。全て意味があり、その通りにしか動かないわけです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問