2010-03-04 47 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