Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #4792

Re: Local vs. hosted connection

From Jerry Stuckle <jstucklex@attglobal.net>
Newsgroups comp.lang.php
Subject Re: Local vs. hosted connection
Date 2012-02-11 14:46 -0500
Organization A noiseless patient Spider
Message-ID <jh6gjf$3ab$1@dont-email.me> (permalink)
References <4f36a260$0$28680$9a6e19ea@unlimited.newshosting.com>

Show all headers | View raw


On 2/11/2012 12:17 PM, Aulë wrote:
> Greetings, fine denizens. I've made significant progress in my project
> since my first post here some time ago, and I have a question related to
> a chunk of code I developed to simplify connection to my database.
> Locally, I need one set of parameters, but after uploading the pages to
> my web host, I need a different set of connection parameters. Initially,
> I simply edited the file after uploading it, but that got tiresome
> quickly, so I came up with the following, which sends the correct
> parameters based on the SERVER_NAME value:
>
> <?php
>
> // Define application constants.
> define('HOSTED', ($_SERVER['SERVER_NAME']=='localhost') ? false : true);
>
> // Open the database.
> $db = open_db(HOSTED);
> if ($db) {
> // Do stuff
> }
>
> function open_db($hosted = false) {
>
> // Define connection values.
> if ($hosted) {
> $host = (string) [[mywebhost.com]];
> $user = (string) [[mywebhost_username]];
> $pass = (string) [[mywebhost_password]];
> $data = (string) [[mywebhost_mysql_database]];
> $port = (int) [[mywebhost_port]];
> } else {
> $host = "localhost";
> $user = (string) [[localhost_usename]];
> $pass = (string) [[localhost_password]];
> $data = (string) [[localhost_mysql_database]];
> $port = (int) [[localhost_port]];
> }
>
> // Execute connection string.
> $db = mysqli_connect($host, $user, $pass, $data, $port);
>
> // Stop script if connection fails.
> if (mysqli_connect_errno()) {
> printf("Connection failed: %s\n", mysqli_connect_error());
> exit();
> } else {
> return($db);
> }
>
> }
> ?>
>
> The cast double brackets are simply placeholders I put here in this post
> to indicated where I have coded my actual parameters in the indicated
> type. (I left "localhost" as it is.)
>
> My question is this: is all this secure on the Web, or is there a way
> for someone to remotely acquire such stored connection parameters?

If it's outside the DOCUMENT_ROOT so no one can download it, it's 
secure.  Otherwise a server misconfiguration can expose you errors.

Why not just include a configuration file on both systems, each with the 
appropriate settings?  Much cleaner and less error prone.

BTW - unless you are the domain owner for mywebhost.com, you should not 
be using their name.  Instead, use example.com, example.org, etc., which 
have been specifically reserved for such uses.

-- 
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Local vs. hosted connection Aulë <aule.vala@gmail.com> - 2012-02-11 12:17 -0500
  Re: Local vs. hosted connection Jerry Stuckle <jstucklex@attglobal.net> - 2012-02-11 14:46 -0500
    Re: Local vs. hosted connection Aulë <aule.vala@gmail.com> - 2012-02-12 10:50 -0500
      Re: Local vs. hosted connection Jerry Stuckle <jstucklex@attglobal.net> - 2012-02-12 11:13 -0500
        Re: Local vs. hosted connection bill <nobody@spamcop.net> - 2012-02-13 07:56 -0500
          Re: Local vs. hosted connection Jerry Stuckle <jstucklex@attglobal.net> - 2012-02-13 08:26 -0500

csiph-web