🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #230775

bezpieczeństwo instrukcji require

#230775
From: jivanmukta
Date: Mon, 08 Dec 2014 10:36
23 lines
2088 bytes
Uczę się PHP5 i CodeIgnitera. Mam dwa pliki definicji stałych (instrukcje define): application/config/localhost_constants.php i application/config/hosting_constants.php. Chciałbym używać tych stałych w pliku application/scripts/constants.sh, żeby nie powielać defincji stałych. Zrobiłem tak (plik constants.sh):

ENVIRONMENT=$(grep "define('ENVIRONMENT'" <~/public_html/index.php | cut -f 2 -d , | tr -d [:space:][:punct:])
if [ $ENVIRONMENT = "production" ];
then
    server=hosting
else
    server=localhost
fi
mysql_server="$(php constant.php $server MYSQL_SERVER)"
mysql_database="$(php constant.php $server MYSQL_DATABASE)"
...

Plik application/scripts/constant.php ma zawartość:

<?php
$server = addslashes($argv[1]);
require "../application/config/{$server}_constants.php";
echo constant($argv[2]);

Czy takie rozwiązanie jest bezpieczne? Chodzi mi w szczególności o instrukcję:
  require "../application/config/{$server}_constants.php";
Były wdzięczny za uwagi.
Technical Details
Message-ID: <244f5de3-856c-4023-80db-149459ffffb7@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!h15no15428990igd.0!news-out.google.com!n9ni21qai.0!nntp.google.com!w8no5425530qac.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Received: by 10.66.97.39 with SMTP id dx7mr27548376pab.29.1418034967050;        Mon, 08 Dec 2014 02:36:07 -0800 (PST)
X-Received: by 10.140.95.182 with SMTP id i51mr19586qge.12.1418034966997; Mon, 08 Dec 2014 02:36:06 -0800 (PST)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!h15no15428990igd.0!news-out.google.com!n9ni21qai.0!nntp.google.com!w8no5425530qac.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.php
Date: Mon, 8 Dec 2014 02:36:06 -0800 (PST)
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.73.80.243; posting-account=Fd8BNwoAAACl8PCi6-fI0bkHGOgt6LMa
NNTP-Posting-Host: 89.73.80.243
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <244f5de3-856c-4023-80db-149459ffffb7@googlegroups.com>
Subject: bezpieczeństwo instrukcji require
From: jivanmukta@poczta.onet.pl
Injection-Date: Mon, 08 Dec 2014 10:36:07 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit