nvrskozzy
16.05.2013 - 07:39
index.php?page=krestniy_otec:
<? include('http://www.n.ru/st.php'); ?>
st.php:
<?
print_r($_GET);
?>
в итоге пустой массив!
если не делать инклуда а разместить print_r($_GET); прямо в файле index.php то всё будет работать и увидим Array ( [page] => krestniy_otec )
вот в чём загвоздка
_____________
Игорь_Vasinsky
16.05.2013 - 07:47
error_reporting(E_ALL | E_SCRICT);
в начало кода поставь
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
nvrskozzy
16.05.2013 - 07:51
поставил, ничего..
_____________
nvrskozzy
16.05.2013 - 07:55
ещё такой вопрос:
ndex.php:
<? include('http://www.n.ru/st.php'); echo $a;?>
st.php:
<?
$a=5;
?>
как сделать чтоб работало? чтоб переменные передавались из инклуд файла? без удалённого сервера всё пашет..
при этом если вывод сделать прям в инклудном файле st.php:
<?
$a=5;
echo $a;
?>
то всё выведется)
_____________
Игорь_Vasinsky
16.05.2013 - 07:56
чёт ты мудришь.
ты чё пытаешься сделать? зачем тебе инклудить файл с другого сервера?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
16.05.2013 - 07:57
я там опечатался
E_ALL | E_STRICT
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
nvrskozzy
16.05.2013 - 07:59
ссылки (статьи) на десятках сайтов разом проставить и в 1 месте настройки по этому делу хранить
_____________
Игорь_Vasinsky
16.05.2013 - 08:13
1. Так опасно делать.
смотри - взламывают тот сайт с файлом настроек.
этот файл у тя должен испольняться на десятке других сайтов.
в итоге - те завалят все сайты
2. делай API
Всё просто
допустим у тя на удалённом сайте есть файл настроек или чего либо - что тебе нужно на десятке других
например тебе нужны данные для коннекта к БД
сам файл настроек api.php
[php]<?php
$secret_key = 'qqr12_efadfsss11f12fdaf';
if(isset($_GET['get_access_bd'] == 1 && $secret_key == $secret_key)){
return json_encode(array(
'host'=>'231.111.0.12',
'user'=>'userName',
'pass'=>'uuq123k',
'db'=>'dbName'
));
}
?>[/php]
теперь на любом другом сайте где хочешь получить данные для коннекта к серверу БД
<?php
$settingsDB = file_get_contents('http://generalsite.com/api.php?get_access_bd=1&secret_key=qqr12_efadfsss11f12fdaf');
$res = json_decode($settingsDB, 1);
extract($res);
?>
Это пример с GET, а можно с curl и POST делать - если параметров сного передавать надо (да и перекодировать в urldecode не придётся)
вот так - послал параметры - получил ответ в формате json, декодировал, extract - и получил переменные (если без extract - то получил ассоц. массив)
тока не забывай проверять secret_key - это как ключ от замка - его должен знать тока ты - чтобы на API не ломились все кому не лень.
можно комбинировать secret_key, хешировать и т.д. - чтобы обезапасить себя.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
nvrskozzy
16.05.2013 - 08:14
вроде решил
st.php: (без <? и ?>)
print_r($_GET);
index.php:
$a=(file_get_contents('http://www.n.ru/st.php'));
eval($a);
_____________
Игорь_Vasinsky
16.05.2013 - 08:15
вообще на API делают методы (классы с функциями) - чтобы всё грамотно организовать и расширить при необходимости
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
16.05.2013 - 08:16
eval - вообще зло в неумелых руках.
в конкретном примере - это
Цитата |
взламывают тот сайт с файлом настроек. этот файл у тя должен испольняться на десятке других сайтов. в итоге - те завалят все сайты |
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
nvrskozzy
16.05.2013 - 08:18
$secret_key = 'qqr12_efadfsss11f12fdaf';
разве открытый пароль в коде поможет в безопасности?
eval - вообще зло в неумелых руках.
предлагаешь пароль проверять, как выше написал?
_____________
Игорь_Vasinsky
16.05.2013 - 08:23
Цитата |
разве открытый пароль в коде поможет в безопасности? |
я тебе просто промониторил переменную.
на обоих серверах можешь хранить её в БД
а вообще в коде - она не кому не доступна.
тока если взломают сервер и получат исходники
Цитата |
предлагаешь пароль проверять |
всегда, особенно если налаживаешь взаимодействие между разными серверами
я бы всё проверял - и рефера и ip и т.д.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
nvrskozzy
16.05.2013 - 08:27
ну если код пхп недоступен, то хоть есть там пароль хоть нет, он недоступен злоумышленнику.. а если его взломали, то и пароль он видит в коде и юзает его, разве не так?)
_____________
Игорь_Vasinsky
16.05.2013 - 08:28
так
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.