Thread View: pl.comp.lang.php
2 messages
2 total messages
Started by jivanmukta
Mon, 08 Dec 2014 10:36
bezpieczeństwo instrukcji require
Author: 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.
Re: bezpieczeństwo instrukcji require
Author: Borys Pogoreło
Date: Wed, 10 Dec 2014 19:53
Date: Wed, 10 Dec 2014 19:53
16 lines
1332 bytes
1332 bytes
Dnia Mon, 8 Dec 2014 02:36:06 -0800 (PST), jivanmukta@poczta.onet.pl
napisał(a):
> Czy takie rozwiązanie jest bezpieczne? Chodzi mi w szczególności o instrukcję:
> require "../application/config/{$server}_constants.php";
W tej sytuacji teoretycznie bezpieczne, ale tak przekombinowane, że jestem
pełen podziwu dla kreatywności.
hint: SetEnv ENV_TYPE testing
I w czym ma pomóc wykonanie addslashes() na ścieżce do pliku?
--
Borys Pogoreło
borys(#)leszno,edu,pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads