2017-03-07 6 views
-1

データベーステーブルに挿入が発生したときにこのスクリプトを起動するPHPファイルがあります。ユーザー名とパスワードを別のファイルに入れて安全にする必要があります。これは、Webアプリケーションで使用され、すべてのユーザーのアプリ全体で同じ資格情報です。私は運がないこれらの資格情報を別のファイルに入れている。Perl - Username + Pwdを別の安全なファイルに入れる必要がある

私は、「$ orausername1" で$ orapassword1をこれらを交換し、別のファイルにこれを置くべきと仮定しています - 誰かがOracleのDBを使用して...

このコードを支援することができます。

#!/usr/bin/perl -w 

use strict; 
use MIME::Lite; 


use DBI; 

my $db = DBI->connect("dbi:Oracle:DBNAME", "USER1", "TESTING2") 
    or die "Couldn't connect to database: " . DBI->errstr; 


my $to = '[email protected]'; 
my $from = '[email protected]'; 
my $subject = 'New Movie Added'; 

etc... 
+1

Re "*これらの資格情報を別のファイル*に入れて運がない*"、あなたの試みはどこですか?あなたはどんな問題を抱えていますか?あなたは間違ったコードを投稿したようです! – ikegami

答えて

3

私は、インサートは、データベース・テーブルに発生した場合、このスクリプトをトリガーするPHPファイルを持っています。

私の最初の提案は、別のスクリプトを呼び出さないことです。 PHPでPerlスクリプトが何をしているのかを行います。これははるかに高速で、別のプロセスを起動してOracleに再接続する必要がなく、資格情報を共有する必要はありません。

ユーザー名とパスワードを別のファイルに入れて安全にする必要があります。これは、Webアプリケーションで使用され、すべてのユーザーのアプリ全体で同じ資格情報です。

  1. おそらくJSONで単一の設定ファイル、または他のいくつかの解析が容易で、言語に依存しない形式にすべてのアプリケーションの設定のものを入れてください。
  2. Webサーバーによって読み取り可能に設定されていて、書き込み可能ではないように設定します。たとえば、

、あなたが言うどの/etc/yourapp.confがある可能性があります:

{ 
    "database": { 
     "type": "Oracle", 
     "host": "the.db.hostname", 
     "port": 12345, 
     "user": "dbusername", 
     "pass": "dbpassword", 
     "name": "dbname" 
    } 
} 

を次に設定情報については、そのファイルを読み込み、すべてが一貫して行動することができ、アプリケーションを構成するすべてのもの。 Perlでは、JSONを解析するためにJSON::MaybeXSを使用します。

configファイルの場所をYOURAPPNAME_CONFIG_FILEのような環境変数で上書きできるようにする場合は、テストと開発にさまざまな設定を使用できます。

関連する問題