2010-03-04 112 views
0

我正在使用一个表单,我有一个文本框,它提交我正在回顾文本框的值,并将其发送到获取值并使用它来获取记录的文件..Joomla文件限制访问

在我的javascript,我给喜欢

<script language="javascript" type="text/javascript"> 

    function check() 

     { 


    var title=document.getElementById("title").value; 

    location.href="http://localhost/joomla/Joomla_1.5.7/testtest.php?title="+title; 

     } 
    </script> 

而在testtest.php文件

我有

 <?php 
      defined('_JEXEC') or die('Restricted access'); 
     ?> 


    <?php echo $_GET['title'];?> 
    <?php 
$db   =& JFactory::getDBO(); 

      $keyword=$_GET['title']; 
    $query = 'SELECT * from #__chronoforms_UploadAuthor where text_6 like "%'.$keyword.'%"'; 
    $db->setQuery($query); 
    $rows = $db->loadObjectList(); 
    //echo $rows; 
    ?> 

但在此页面显示我为受限访问..为什么这样?而如何克服这一..请帮我...

回答

3

从官方文档:

“_JEXEC”是一个常量,它是 在在“的index.php” 档案定义Joomla的根! 实例,并用于标记安全的 入口点到Joomla !.定义的 或死检查确保_JEXEC 已被定义在文件路径中以获得 。这用于确保 可以暴露路径 信息的文件,因为函数, 变量或类未在 中定义,该文件脱离PHP的错误报告 并暴露路径。

什么时候应该使用它?

检查应该被添加到文件 ,当直接访问导致 路径曝光。

这正是你在做什么:直接访问testtest.php。

您应该避免直接呼叫或取消支票。

最重要的是,在编写Joomla框架的扩展时,似乎没有应用主要指导原则。我强烈建议你看看documentation pages,特别是MVC模式部分。

消息来源:http://docs.joomla.org/JEXEC