Comment obtenir de l'actuel Joomla utilisateur externe script PHP
J'ai quelques scripts PHP utilisé pour les requêtes AJAX, mais je veux qu'ils soient en mesure d'opérer sous l'égide de Joomla du système d'authentification. Est la suite de sécurité? Existe-il des lignes inutiles?
joomla-auth.php (situé dans le même répertoire que de Joomla index.php):
<?php
define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(__FILE__));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
/* Create the Application */
$mainframe =& JFactory::getApplication('site');
/* Make sure we are logged in at all. */
if (JFactory::getUser()->id == 0)
die("Access denied: login required.");
?>
test.php:
<?php
include 'joomla-auth.php';
echo 'Logged in as "' . JFactory::getUser()->username . '"';
/* We then proceed to access things only the user
of that name has access to. */
?>
Il ne fonctionne pas si vous appelez ce script à partir d'un autre répertoire
même si le script lui-même est dans la communauté joomla répertoire racine (Joomla 1.7)
même si le script lui-même est dans la communauté joomla répertoire racine (Joomla 1.7)
OriginalL'auteur Joey Adams | 2010-03-15
Vous devez vous connecter pour publier un commentaire.
Alors que je ne vois rien dans le code qui est dangereux, il est préférable de faire votre AJAX/JSON appels vers un standard de Joomla composant. Il y a un bon article sur comment faire ici: http://blog.syncleon.com/2009/05/ajax-ify-your-joomla-website.html j'ai également écrit à propos de JavaScript, Joomla, et des requêtes asynchrones dans mon livre http://www.packtpub.com/files/learning-joomla-1-5-extension-development-sample-chapter-8-using-javascript-effects.pdf (passez à la page 168).
Essentiellement, ce que vous avez à faire est de créer une vue pour la sortie de votre appel AJAX, puis créer un view.xml.php (ou view.json.php fichier au lieu d'un view.html.php. Lorsque vous ajoutez
&format=xml
à la fin de votre URL de la requête, il va tirer de view.xml.php au lieu de view.html.php.Vous ne pouvez pas faire des appels AJAX pour les modules. Vous devez avoir le JavaScript dans votre module d'appel d'un composant.
OriginalL'auteur jlleblanc
sûr , vous avez besoin pour obtenir les données de session pour les utilisateurs
imprimer la session de voir ce qui vient
OriginalL'auteur Benn