Forum pragmaMx France 24 Mai 2012 à 18:53:54 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.


Connexion avec identifiant et mot de passe
 
Accueil Aide Rechercher
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [RESOLU] Comment enlever "if (!eregi("modules.php", $PHP_SELF)) { die ...." ?  (Lu 5409 fois)
WolwX
Membre Junior Mx
**
Hors ligne Hors ligne

Messages: 42


« le: 18 Janvier 2009 à 17:06:56 »

Bonjour les gens Sourire

Ma question n'est pas très claire alors voilà mon soucis :

J'aimerais pouvoir faire appel à un modules sans qu'il ne soit obligatoirement consultable par son url de type "modules.php?name=nomdumodule" mais par un accès direct à l'url

Et pourtant ça me semble léger comme manip ... mais malgrès ma volonté à démonter le code dans tout les sens je n'y suis pas parvenu Triste

C'est donc les premières lignes qui me dérange :x

Voici le code :

Code:
if (!eregi("modules.php", $PHP_SELF)) {
   die ("Vous ne pouvez pas accéder à ce fichier directement...");

}
require_once("mainfile.php");
$module_name = basename(dirname(__FILE__));
include("header.php");
$index = 0;
OpenTable();
?>
<p align="center">
  <iframe id="TeamNT" style="margin: 0pt; padding: 0pt; width: 100%; height: 1400px;" src="http://www.wolwx.com/WolwX/TeamNT/" align="middle" frameborder="0" scrolling="yes"></iframe>
</p>
<?php
CloseTable
();
include(
"footer.php");

?>


Quelqu'un pourrait m'aiguiller svp ? Cheesy
« Dernière édition: 22 Janvier 2009 à 17:38:39 par WolwX » Journalisée
algebre
Team
Membre Senior Mx
******
Hors ligne Hors ligne

Messages: 342



« Répondre #1 le: 19 Janvier 2009 à 14:55:39 »

salut,
Citation
Ma question n'est pas très claire alors voilà mon soucis :
c'est vrai, ce n'est pas claire.
Citation
J'aimerais pouvoir faire appel à un modules sans qu'il ne soit obligatoirement consultable par son url de type "modules.php?name=nomdumodule" mais par un accès direct à l'url
vous pouvez le faire on activant l' URL rewriting , et vous aurez un url du type :http://www.tonsite.tld/nomdumodule.html

Citation
sans qu'il ne soit obligatoirement consultable par son url de type
le mot "obligatoirement" signifie qu'il fait partie de pragmaMx ou non, dans ce cas vous pouvez virez tout ce code et créer une page html ou php indépendante, cette manip a ces conséquences par ex: vous ne pouvez rien récupérer depuis PMX (couleur, non d'utilisateur, langue, cookies, etc…)
En plus tout le système sera vulnérable aux (intrusion, hack…)
Par ce que le mécanisme de sécurité de pragmamx et hors service,

autre chose:
Code:
if (!eregi("modules.php", $PHP_SELF)) {
   die ("Vous ne pouvez pas accéder à ce fichier directement...");

}
require_once("mainfile.php");
ce code est spécifique a php-nuke, pour PMX on utilise ce code à ça place
Code:
defined('mxMainFileLoaded') or die('access denied');


J'espère que ceci répondra à votre question,
« Dernière édition: 19 Janvier 2009 à 15:02:41 par algebre » Journalisée
WolwX
Membre Junior Mx
**
Hors ligne Hors ligne

Messages: 42


« Répondre #2 le: 20 Janvier 2009 à 15:51:18 »

Oui c'est tres bien  respect

Ca permet de clarifier la chose Sourire

En fait perso j'aimerais juste pouvoir enlever le "or die('access denied');"

Car en fait je veux faire un module avec le header, le footer de mon site pragmaMX, mais en le laissant consultable par un lien direct sans passer par un appel php "modules.php?=..."

C'est afin de pouvoir utiliser la fonction recherche personnaliser de google en l'intégrant au mieux dans mon site.
Journalisée
algebre
Team
Membre Senior Mx
******
Hors ligne Hors ligne

Messages: 342



« Répondre #3 le: 21 Janvier 2009 à 19:02:13 »

slt,
enlever le "or die('access denied');" et en même temps , récupérer  header, le footer de mon site pragmaMX c'est impossible

Citation
fonction recherche personnaliser de google

Je suppose que vous avez reçu ce message en envoyant la requête:
Citation
Sorry, you can't access this file directly, parameter "name" is required...
si c'est le cas voici la solution:

Code:
<form method="get" action="modules.php" target="_top">
<input type="hidden" name="name" value="' . $module_name . '" />
s'il s'agit d'un modules sinon

Code:
<form method="get" action="modules.php" target="_top">
<input type="hidden" name="name" value="LENOMDUMODULE" />
Journalisée
WolwX
Membre Junior Mx
**
Hors ligne Hors ligne

Messages: 42


« Répondre #4 le: 22 Janvier 2009 à 17:38:25 »

Bien génial !

Voici mon code utilisé en l'adaptant tel que tu me l'à indiqué Cheesy

Code:
<form method="get" action="modules.php" target="_top" id="cse-search-box">
  <div>
    <input type="hidden" name="cx" value="partner-pub-4882917013237168:pbkl4-m2uoq" />
    <input type="hidden" name="cof" value="FORID:10" />
    <input type="hidden" name="ie" value="ISO-8859-1" />
    <input type="text" name="q" size="20" />
    <input type="submit" name="sa" value="Rechercher" />
<input type="hidden" name="name" value="Recherche" />   
  </div>
</form>

Bien grand merci à toi Algebre  respect

ça marche très bien  Sourire
Journalisée
Pages: [1]   Haut de page
Imprimer
Forum pragmaMx France  |  Modules spécifiques & Blocs  |  Autres modules dédiés à PragmaMx (Modérateurs: Diabolo, kroms, phi56360)  |  Fil de discussion: [RESOLU] Comment enlever "if (!eregi("modules.php", $PHP_SELF)) { die ...." ?
 
Aller à:  

Powered by SMF 1.1.15 | SMF © 2006-2009, Simple Machines

Plus