Есть вопрос, необходима разработать некий модуль авторизации доступный всем хостам и сторонним проектам. другими словами как закрыть PHP код... либо вакинуть глобальные функции. Пример(основная) userinfo.php: PHP: <? echo '<? function cc($c){ $c.="ok"; return $c; } ?>'; ?> Пример(Вызов в других проектах) ****.php: PHP: <? include('http://*******/userinfo.php'); $d="Все "; echo cc($d); ?> если я буду использовать в userinfo.php подключения к БД то доступны будут пароли... как вот как закрыть код в userinfo.php не теряя функционал.... :roll:
Храните или код, или конфиг в БД. Подключаетесь к удаленной СУБД, выбираете РНР код, с помощью eval выполняете и всё.
Дело в том что userinfo.php будет так же функция PHP: function db_conect(&$db_link) { global $hostdatabase, $logindatabase, $shemdatabase, $pwddatabase; $db_link = mysql_connect($hostdatabase, $logindatabase, $pwddatabase); if (!$db_link) {return 1; break;} mysql_query("SET NAMES cp1251;",$db_link); mysql_query("use $shemdatabase;",$db_link); } где &$db_link ссылка на подключение к бд, пользователь в своих скриптах сможет использовать свои запросы к бд на чтение) это необходимо чтобы на каждого пользователя не давать права на чтения к некоторым таблицам и не разрабатывать лишние алгоритмы для обработки полученных данных...
Переписываем: PHP: <? function db_connect(&$db_link) { global $dbhost, $dbuser, $dbpass, $dbname; $db_link = @mysql_connect($dbhost, $dbuser, $dbpass); if($db_link) { mysql_select_db($dbname); mysql_query('SET NAMES cp1251'); return true; } return false; } Во-вторых, после вашего объяснения стала ещё больше не ясна задача. Каждый пользователь вызывает скрипт .. почему пароли должны быть доступны? Толи меня совсем уже плющит, толи вы объясняете что-то не то ..
да типо того, но авторизацию выполняют каждый сам, передавая моему скрепту только имя пароль, а я в ответ передаю да нет..... но на етом не все, другим разработчикам иногда требуется доступ к таплице пользователей там есть инва о подразделениях и их личных данных.... так вот нужно каким то образом организовать доступ к етой таблице, не газдовая прав самого mysql и не использовать многомерные массивы, xml...
либо как написать свою собственную внутреннию функцию (пример mysql_connect(), abs() и тому подобные)
на сайте а лежит файл авторизации, который принимает данные (пароль, логин, ключ и т.д.) и возвращает результат в виде xml, json и т.д. со стороннего сайта просто обращаемся к скрипту curl-ом или другим способом Что то мне подсказывает, что есть способы более правильные, но я их не знаю
вот в этом все и дело, где етот правильный способ, а в место xml, json можно выкидывать массив многомерный....
Ребята, в чём проблема? Когда ты вызываешь файл userinfo.php выполняется код userinfo.php , а чем тебе плохо сделать так: Код (Text): Вызываешь userinfo.php с параметрами _get он получает логин и пароль и проверяет его по базе, причём данные базы спрашивает у db.config.php , а в db.config.php ставишь проверку if ( !defined('_CHK') ) exit; , ну и в userinfo.php соотв. пишешь define('_CHK', 1 ); вот и всё. только не include надо , а file_get_contents и возвращать userinfo.php 1 или 0, т.е. зашли или нет. а чтобы была сквоздная авторизация думай в сторону того что при вызове <img src=""> сессия присваивается.
davefree Отдайте другим разработчикам сервис, к примеру SOAP или REST. Решения для SOAP есть как в самом PHP, так и в PEAR. Для REST можно использовать Recess: http://github.com/recess/