[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: $_GET и include
Страницы: 1, 2, 3
nvrskozzy
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
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
поставил, ничего..

_____________
nvrskozzy
ещё такой вопрос:
ndex.php:

<? include('http://www.n.ru/st.php'); echo $a;?>


st.php:

<?
$a=5;
?>


как сделать чтоб работало? чтоб переменные передавались из инклуд файла? без удалённого сервера всё пашет..

при этом если вывод сделать прям в инклудном файле st.php:

<?
$a=5;
echo $a;
?>

то всё выведется)

_____________
Игорь_Vasinsky
чёт ты мудришь.

ты чё пытаешься сделать? зачем тебе инклудить файл с другого сервера?

_____________
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
я там опечатался

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
ссылки (статьи) на десятках сайтов разом проставить и в 1 месте настройки по этому делу хранить

_____________
Игорь_Vasinsky
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);

//В итоге ты получишь переменные $host, $user, $pass, $db


?>


Это пример с 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
вроде решил

st.php: (без <? и ?>)

print_r($_GET);



index.php:

$a=(file_get_contents('http://www.n.ru/st.php'));

eval($a);



_____________
Игорь_Vasinsky
вообще на 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
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
$secret_key = 'qqr12_efadfsss11f12fdaf';

разве открытый пароль в коде поможет в безопасности?

eval - вообще зло в неумелых руках.

предлагаешь пароль проверять, как выше написал?

_____________
Игорь_Vasinsky
Цитата
разве открытый пароль в коде поможет в безопасности?

я тебе просто промониторил переменную.

на обоих серверах можешь хранить её в БД

а вообще в коде - она не кому не доступна.

тока если взломают сервер и получат исходники

Цитата
предлагаешь пароль проверять


всегда, особенно если налаживаешь взаимодействие между разными серверами

я бы всё проверял - и рефера и 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
ну если код пхп недоступен, то хоть есть там пароль хоть нет, он недоступен злоумышленнику.. а если его взломали, то и пароль он видит в коде и юзает его, разве не так?)

_____________
Игорь_Vasinsky
так

_____________
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
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.