HI all,

Thanks to everyone who had given their input ...

At the every least, I hope to be able to make the password "cryptic" in some
way not super-duper hiding the stuff.

Anyway, at the moment, I create a password word that is accessed by the
script and is read only and readable by the owner of the script ...

On Thu, Feb 11, 2010 at 10:37 PM, Philip Potter
<philip.g.pot...@gmail.com>wrote:

> On 10 February 2010 23:04, newbie01 perl <newbie01.p...@gmail.com> wrote:
> >
> > Hi all,
> >
> > Can anyone please advise how I can change the following codes to work
> where
> > the <username> and <correct_pass> are not exposed?
> > Script is ran via crontab and can also be run manually, at the moment am
> > reading these values from some sort of delimited file.
> >
> > The worry is someone getting access to the script and then putting in
> some
> > print commands to expose the username and password information.
> > Just thinking in advance before it happen. The original script is a UNIX
> > script but I thought there may be a Perl module that will masked
> > the password where there is none of the same thing for UNIX scripts.
> >
> > #!/usr/bin/perl
> >
> > use DBI;
> >
> > ......
> > ......
> >
> > $dbh = DBI->connect('dbi:Oracle:host=localhost;sid=test;port=1521',
> > '<username>', '<correct_pass>');
> > my $sth = $dbh->prepare("alter session set nls_date_format = 'DD-MON-YYYY
> > HH24:MI:SS'");
> > $sth->execute();
> > my $sth = $dbh->prepare("select 'Today is ' || sysdate from dual");
> > $sth->execute();
> > while (my ($sysdate) = $sth->fetchrow_array()) {
> >    print $sysdate, "\n";
> > }
> > $sth->finish();
> >
> > exit 0;
> >
> > Any feedback will be very much appreciated. Thanks in advance
>
> What is your threat model? ie what kind of attacker are you trying to
> protect yourself from?
>
> You can prevent casual attacks by following some of the suggestions in
> perldoc -q "hide the source".
>
> There is no way to do what you ask in such a way that a determined
> attacker will not be able to get your password. If this is a problem,
> you need to redesign your system.
>
> If you want to make sure the only way a user can access the database
> is through your perl script, you'll need to do something to enforce
> that, such as storing the script on a different server and giving it a
> web interface, and making the database invisible to everything but the
> server the script is hosted on. [This might work but it's not
> necessarily a good idea.]
>
> Phil
>

Reply via email to