Article View: pl.comp.lang.php
Article #230775bezpieczeństwo instrukcji require
From: jivanmukta
Date: Mon, 08 Dec 2014 10:36
Date: Mon, 08 Dec 2014 10:36
23 lines
2088 bytes
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-mailShow 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