- 締切済み
MYSQL接続のパスワードの暗号化について
現在、共有レンタルサーバでMYSQLとPHPを使用したシステムを製作しています。 使用しているサーバは、SSHでの接続ができるのですが、これが他のユーザーのディレクトリのファイルを見ることができてしまうのです。 サーバ会社にそのこと問い合わせたら仕様上変更ができないとのこと。 対策として必要に応じてパスワード等は適宜暗号化してくださいというのですが…。 現在、MYSQLに接続するためのパスワードをテキストファイルでアップしているのですが、今までは他のサーバでシステムを作るとき、.htaccessを使ってブラウザからはアクセスできないようにして対応していたのですが、SSHで接続されるのでは意味がありません。 MYSQLに接続するパスワードを不可逆の暗号化しておいて、そのデータでMYSQLに接続する、なんてことができるのでしょうか? 可逆化が可能な暗号であれば、接続方法は思いつくのですが、PHPスクリプトも他人に読まれる可能性があるため、それでは意味がありません。 または、暗号化しなくても、パスワードファイルはSSHからの接続では閲覧できないようにしたいのです。(この場合、自分でもSSHでは閲覧できなくてもかまいません。) OS:TurboLinux Appliance Server2.0(TLAS2) PHP:4.4.8 mysql:4.0.20 ご存知の方がおられたら、教えて頂けたら幸いです。
- ttknet123
- お礼率37% (3/8)
- PHP
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
みんなの回答
こんばんは。 > 使用しているサーバは、SSHでの接続ができるのですが、これが他のユーザーのディレクトリのファイルを見ることができてしまうのです。 という時点で私なら速攻で解約しますが。 あまりにもお粗末な管理会社です。 共用サーバーなら探せばいくらでもあると思います。 このようないいかげんな運営会社に縛られる必要はないのでは?
関連するQ&A
- ファイル上のパスワードの暗号化
WebでMySQLに接続するとき $hostname = "localhost"; $database = "mydb"; $username = "myname"; $password = "mypass"; などとファイルに書いて接続しますが、 $password = "mypass"; のmypassの部分を暗号化する方法はないでしょうか? MySQL側ではパスワードは暗号化されていますが その文字列をそのままいれて $password = "6f8c114b58f2ce9e"; としても当然ですが接続できませんでした。 宜しくお願いします。
- ベストアンサー
- MySQL
- mysql_connect() のパスワードについて
数日前にPHPをはじめたばかりの初心者なのですが、 気になることがあるので質問させていただきたいと思います。 いろいろな書籍やネット上のサンプルを見る限り、 PHPからmySQLに接続するためには mysql_connect()の引数にパスワードを入れるようになっていますが、 これはセキュリティ上問題ないのでしょうか? 過去の質問を調べたところ、 No.1142292に対する回答に、 .phpファイルはまず中身を見られることがないから大丈夫、 というのがあったのですが、 サーバのPHPパーサが落ちていた場合など、 .phpファイルは丸見えになってしまうのではないでしょうか。 そして、そのSQLテーブルを作成したユーザーが (cookieによる認証で)phpMyAdminを使用していた場合、 第三者がphpMyAdminで容易にテーブルにアクセスできてしまうのではないかと思います。 サーバは生きているがPHPパーサが落ちている、という 状態はほとんどありえないとは思うのですが、 万が一この状態が起こった場合に取れる自衛手段 はありますでしょうか?
- 締切済み
- PHP
- パスワードの暗号化
いつもお世話になっております。 今回はjavascriptをつかった暗号化についてお聞きしたいです。 パスワードをサーバーに送る際、そのまま送ると少し詳しい人なら丸わかりになってしまいます。 そこで暗号化をして送信したく、いろいろ探してみましたがなかなかいい方法が見当たりません。 des.jsというライブラリを見つけましたが、復号化のコードも書いてあり、簡単に復号できてしまうような気がします。 いろいろ探していていいと思ったのは、perlのcryptのような不可逆の暗号化の方法でした。 そのような方法はjavascriptにあるのでしょうか? またそれ以外でもなにかいい方法はありますでしょうか? 完全に隠蔽するのは不可能だということはわかっておりますが、 できる限りわかりにくくする方法を知りたいです。 以上の点、ご教授お願いいたします。
- ベストアンサー
- JavaScript
- パスワードの暗号化
php+mysqlでシンプルな会員登録を作りたいのですがパスワードは暗号化したほうがいいですか? パスワードを簡単に暗号化できる方法はありますか? postされたpassと暗号化されたpassのチェック方法がわかりません ログイン if ($_POST['id'] !='' && $_POST['pass'] !='') { $sql = sprintf('SELECT * FROM hoge WHERE id="%s" AND pass="%s"', mysql_real_escape_string($_POST['id']), mysql_real_escape_string($_POST['pass']) ); $record = mysql_query($sql) or die(mysql_error()); if ($table = mysql_fetch_assoc($record)) { $_SESSION['id'] = $table['id']; $_SESSION['name'] = $table['name']; } else { //エラー }
- ベストアンサー
- MySQL
- lolipopでのmysql接続について
現在lolipopでPHPを使いMySQLに接続しようとしています。 外部サーバからlolipopのmysqlに接続できないことは承知していまして、lolipopのサーバにphpファイルを置いているのですが、うまくいきません。 phpMyAdminを使ってデータベース作成し、接続、クエリの実行も問題ありません。 ホスト名:mysql570.phy.lolipop.jp(210.157.9.95) MySQLユーザ:LAA022**** パスワード:**** データベース名:LAA022****-test mysql_connect(’mysql570.phy.lolipop.jp’,’LAA022****’,’****’)でphpからの接続を試しているのですが、以下のエラーになります。 Access denied for user 'LAA022****'@'210.172.144.218' (using password: YES) mysql570.phy.lolipop.jp(210.157.9.95)に接続しようとしてるのに210.172.144.218 で返ってきてしまいます。 直接210.157.9.95を指定しても210.172.144.218が返ってきてしまいます。 よってユーザがないのでAccess deniedになっていると思うのですが、何か考えられる原因はありますでしょうか? アドバイス頂けると助かります。 宜しくお願い致します。
- 締切済み
- PHP
- 【PHPで認証】パスワードの暗号化は無意味では??
PHPにて会員専用ページを作りたいと考えているものです。 パスワードは暗号化すれば安全…と思っていました。しかしよく考えると暗号化されたパスワードをハッカーが盗んで自分のPCのCookieに入れたらなりすましが可能ではないのか?ということに気づきました。正規のユーザーもログイン後は暗号化パスワードをサーバーに渡してページごとに認証しているわけですから。 パスワードの暗号化は本当に意味があるのでしょうか? 暗号化されたパスワードは盗まれても問題ないのでしょうか? お詳しい方、よろしくお願いいたします。
- ベストアンサー
- PHP
- データベースパスワードの設置
MysqlとPHPでショッピングサイトを構築しております。 データベースへの接続のIDとパスワードは別ファイル(dbpass.txt)にしてデータベースに接続しています。通常ですと、public_html以下には置かないようにしているのですが、今度のレンタルサーバではtelnetも使えませんし、public_html以下しかファイルを置くことができません。 なにかよい方法はないでしょうか? .htaccessの設定でできるかなとも思ったのですが、よくわかりません。 よろしくお願いします。
- ベストアンサー
- PHP
- 別サーバへのmysql接続に関して
諸事情によりPHPプログラムで別のサーバにあるmysqlへ接続しようと 試みていますが、うまくいきません。 それぞれのサーバに入っているPHP,apache,mysqlのバージョンは 下記の通りです。 【PHPを動かすサーバ(以降:サーバA)】 Redhat Linux ES 4.0 PHP Version 4.3.9 Apache 2.0.52 mysql(入っていません) 【mysqlが動いているサーバ(以降:サーバB)】 FreeBSD 4.7 PHP Version 4.3.10 Apache 1.3.37 mysql 4.1.11 プログラムは下記のものです。 if(!$conn = mysql_connect(サーバB:3306,ユーザー名,パスワード)){ die('MySQL接続失敗'); } if(!$sts = mysql_select_db(データベース名,$conn)){ die('テーブル選択失敗'); } サーバBで同一のプログラムを 起動した場合はもちろん問題なく繋がります。 サーバAでは「MySQL接続失敗」となってしまいます。 どのような設定を行えば、サーバAからサーバBのmysqlへ接続可能に なるのか、よろしくご教授の程、お願いいたします。
- 締切済み
- PHP
- PHPでMySQLに接続失敗
Apache_2.0.55 php-5.1.2-win32 mysql-5.0.21-win32 windows XP HOME Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\sample\smp01.php on line 9 とエラーがでました。 以下の設定しているのですが、このようなエラーがでました PHPとApacheのテストは成功しています mysqlコマンドラインツールの起動・操作もできました mysqlのパスワードは設定はしていません PHPのスクリプトは実行できるのですが PHPとMySQLの接続がうまくいきません 色々と、調べているのですが原因がわかりません 初心者です、どうぞ宜しくお願いします 1 <?php 2 3 $DBSERVER = "localhost"; //MySQLサーバー名 4 $DBUSER = "root"; //ログインユーザー名 5 $DBPASSWORD = ""; //パスワード 6 $DBNAME = "sampledb"; //データベース名 7 8 //MySQLに接続します 9 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); libmysql.dllをC:\WINDOWS\system32にコピー PHP.iniファイルでextension=php_mysql.dllをコメントから復帰 Apacheを再起動
- ベストアンサー
- MySQL
補足
ありがとうございます。 >という時点で私なら速攻で解約しますが。 >あまりにもお粗末な管理会社です。 確かに私もこんなサーバがあるとは思っておらず、契約してからわかり困っていたのですが…。 このサーバーは共有SSLでの証明書がかなり優れている点があり、他に簡単に変えられない理由もあるので。 そこで、パスワード等のファイルのパーミッションを「006」にしたところ、私のアカウントではSSHで接続してviで開くことができなくなったのですが、これは他のユーザーからも開けなくなったと考えてもいいのでしょうか? ご存知でしたらお教え下さい。