LiAn: cms htaccess

grüezi miteinander,

ich hab das letztes jahr schon mal gefragt, kann aber irgendwie auf meinen thread nicht mehr antworten, deshalb poste ich das hier nochmals.

ich habe ein cms installiert. in einem unterverzeichnis: /cms. dieses habe ich mit htaccess geschützt. nun habe ich eine seite erstellt, wo auf inhalt einer datenbank mit cmsinhalt zugegriffen werden soll. wenn der enduser diese seite aufruft, will der browser ein passwort und einen usernamen. klicke ich dort auf abbrechen, wird mir die seite wunderbar dargestellt. wie kann ich verhindern, dass die frage nach dem usernamen und dem passwort nicht kommt? habe den code ein wenig gestrählt und nicht benötigten code rausgelöscht. hier mal mein code:

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
<head>  
<?php  
$siteId = "25";  
include("metatags.php");  
  
// bof Einstellungen  
// nur eine feste und einmalig $menuId weil Mini-CMS  
$menuId = 5;  
$tmplt = 'holzlexikon';  
// eof Einstellungen  
/**/  
include("cms/includes/config.php");  
$con = mysql_Connect($hostname,$dbUser,$dbPW)  
     or die( "Die Verbindung zur Datenbank kann momentan nicht aufgebaut werden." );  
     mysql_select_db( $dbname, $con );  
  
?>  
  
<style type="text/css">@import "css/styles.css";</style>  
<!--[if ie]> <link href="css/ie.css" rel="stylesheet" type="text/css">  
    <![endif]-->  
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>  
<script type="text/javascript">  
 $(function(){  
  $('.back').click(function(){  
   $('#lexikonAuswahl').css({'display' : 'block'});  
   $('#bildLexikon').attr('src','images/holzlexikon/holzlexikon.jpg');  
   $('.holzItem').css({'display' : 'none'});  
  });  
  
  <?php  
  $result = mysql_query( "SELECT * FROM $tmplt WHERE menuId='$menuId'", $con )  
  or die( "Fehler bei Query: " . mysql_error( $con ) );  
  
  while ($row = mysql_fetch_array($result)) {  
   $reihenfolge = $row["reihenfolge"]; //  
   $bild = utf8_encode($row["Bildname_nameB"]); //  
   $titel = utf8_encode($row["feldA"]); //  
  
  echo  "$('#lexikonAuswahl p a[title = ".$titel."]').click(function(){\n";  
  echo "$('#lexikonAuswahl').css({'display' : 'none'});\n";  
  echo "$('#bildLexikon').attr('src','downloads/".$bild."');\n";  
  echo "$('div#".$titel."').css({'display' : 'block'});\n";  
  echo "});\n";  
  }  
  mysql_FreeResult($result);  
        ?>  
  
 });  
</script>  
</head>  
  
<body>  
<div id="container">  
 <div id="topNav"><?php include("topnav.php"); ?></div><!--#topNav-->  
    <div id="leftNav"><?php include("leftnav.php"); ?></div><!--#leftNav-->  
    <div id="logo"><a href="../index.html" target="_self"><img src="images/logo.gif" alt="Sp&auml;ti Holzbau AG" title="Sp&auml;ti Holzbau AG" /></a></div><!--#logo-->  
 <div id="bildContainer"><img src="images/holzlexikon/holzlexikon.jpg" id="bildLexikon" /></div><!--#bildContainer-->  
    <div id="textContainer">  
     <div class="normalText">  
     <div id="lexikonAuswahl"><h1>Holzlexikon</h1>  
        <?php  
  $result = mysql_query( "SELECT * FROM $tmplt WHERE menuId='$menuId'", $con )  
  or die( "Fehler bei Query: " . mysql_error( $con ) );  
  
  while ($row = mysql_fetch_array($result)) {  
         $reihenfolge = $row["reihenfolge"]; //  
   $titel = utf8_encode($row["feldA"]); //  
  
         echo "<p><a href='#' title='".$titel."'>".$titel."</a></p>";  
  }  
  mysql_FreeResult($result);  
        ?>  
        </div><!-- #lexikonAuswahl -->  
  
        <?php  
  $result = mysql_query( "SELECT * FROM $tmplt WHERE menuId='$menuId'", $con )  
  or die( "Fehler bei Query: " . mysql_error( $con ) );  
  
  while ($row = mysql_fetch_array($result)) {  
          $reihenfolge = $row["reihenfolge"]; //  
          $titel = utf8_encode($row["feldA"]); //  
   $text = utf8_encode($row["feldB"]); //  
  
         echo "<div id='".$titel."' class='holzItem'>";  
         echo "<h2>".$titel."</h2>";  
             echo "<p>".$text."</p>";  
             echo "<p><a href='#' class='back'>zur&uuml;ck zur Auswahl</a></p></div>";  
        }  
  mysql_FreeResult($result);  
  ?>  
 </div><!--#normalText-->  
    </div><!--#textContainer-->  
</div>  
<!--#container-->  
<?php  
mysql_Close($con);  
?>  
</body>  
</html>  

wenn ich diese zeile auskommentiere kommt die frage nicht:

  
echo "<p>".$text."</p>";  

woran kann das liegen? ich finde den fehler einfach nicht.

  1. Hi,

    ich hab das letztes jahr schon mal gefragt, kann aber irgendwie auf meinen thread nicht mehr antworten, deshalb poste ich das hier nochmals.

    Wenn ich mich recht erinnere, hab ich dir da auch schon geantwortet ...

    ich habe ein cms installiert. in einem unterverzeichnis: /cms. dieses habe ich mit htaccess geschützt. nun habe ich eine seite erstellt, wo auf inhalt einer datenbank mit cmsinhalt zugegriffen werden soll. wenn der enduser diese seite aufruft, will der browser ein passwort und einen usernamen. klicke ich dort auf abbrechen, wird mir die seite wunderbar dargestellt.

    Dann hast du dort wohl irgendeine Ressource aus dem geschuetzten Bereich eingebunden.

    wie kann ich verhindern, dass die frage nach dem usernamen und dem passwort nicht kommt?

    Nachdem du das mit der doppelten Verneinung noch mal ueberdacht hast, suchst du mal nach der Einbindung dieser Ressource - und entfernst sie.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Hallo ChrisB

      Wenn ich mich recht erinnere, hab ich dir da auch schon geantwortet ...

      genau, deshalb habe ich auch einiges aus dem Code rausgelöscht, was nicht reinmusste.

      Dann hast du dort wohl irgendeine Ressource aus dem geschuetzten Bereich eingebunden.

      alles, was in der config.php-datei steht, sind Datenbankzugangsdaten. die haben ja eigentlich nichts mit dem verzeichnisschutz zu tun, oder?

      Nachdem du das mit der doppelten Verneinung noch mal ueberdacht hast, suchst du mal nach der Einbindung dieser Ressource - und entfernst sie.

      sorry, doppelte verneinungen waren noch nie mein ding. wollte natürlich fragen, wie ich verhindern kann, dass die fragen nach usernamen und passwort kommen.

      für mich macht es einfach keinen sinn, dass die frage nicht kommt, wenn ich die besagte zeile auskommentiere:

        
      echo "<p>".$text."</p>";  
      
      

      die variable $text wird so definiert:

        
      $text = utf8_encode($row["feldB"]);  
      
      

      hab auch schon ausprobiert, ob $text ein fix definierter wert ist, den man nicht brauchen darf und hab die variable umbenannt. funktioniert aber trotzdem nicht.

      1. Hi,

        genau, deshalb habe ich auch einiges aus dem Code rausgelöscht, was nicht reinmusste.

        Und trotzdem postest du bei einem clientseitigen Problem noch serverseitigen Code - was auch relativ wenig sinnvoll ist.

        für mich macht es einfach keinen sinn, dass die frage nicht kommt, wenn ich die besagte zeile auskommentiere:

        echo "<p>".$text."</p>";

          
        PHP interessiert den Client nicht.  
          
        
        > hab auch schon ausprobiert, ob $text ein fix definierter wert ist, den man nicht brauchen darf und hab die variable umbenannt. funktioniert aber trotzdem nicht.  
          
        Auch PHP-Variablen interessieren den Client nicht ...  
          
        Nenne doch bitte mal die Adresse, unter der man sich das ganze anschauen kann.  
          
        MfG ChrisB  
          
        
        -- 
        „This is the author's opinion, not necessarily that of Starbucks.“
        
        1. Nenne doch bitte mal die Adresse, unter der man sich das ganze anschauen kann.

          hier der link zu meiner test-seite:
          Link

          1. Hi,

            hier der link zu meiner test-seite:
            Link

            Ziemlich weit unten findet sich dort im Quelltext folgendes:

            <style type="text/css">@import url(cms/);</style>

            Abgesehen davon, dass ein style-Element an dieser Stelle nichts zu suchen hat, weil es dort nicht erlaubt ist - ist "cms" ja wie du schriebst dein geschuetztes Verzeichnis ... also doch wohl kein grosses Wunder, dass der Browser daraufhin nach den Zugangsdaten fragt, oder?

            D'oh ...

            MfG ChrisB

            --
            „This is the author's opinion, not necessarily that of Starbucks.“
            1. Ziemlich weit unten findet sich dort im Quelltext folgendes:

              <style type="text/css">@import url(cms/);</style>

              Alles klar. Jetzt weiss ich, wo ich den Fehler suchen muss. Diese Zeile wird durch den RichTextEditor des CMS eingesetzt. Da ich nie den Quelltext im Browser angeschaut habe, ist mir die Zeile auch nie aufgefallen, da sie im Code meiner Datei nicht vorkommt. Muss wahrscheinlich in der Konfiguration des RichTextEditors einen Pfad ändern.

              Vielen Dank für deine Hilfe!

              1. Hi,

                Da ich nie den Quelltext im Browser angeschaut habe, ist mir die Zeile auch nie aufgefallen

                Na du hast ja ein lustiges Verstaendnis von logischer, methodischer Fehlersuche ...

                MfG ChrisB

                --
                „This is the author's opinion, not necessarily that of Starbucks.“
                1. Na du hast ja ein lustiges Verstaendnis von logischer, methodischer Fehlersuche ...

                  Ja sorry, bin halt nicht perfekt. Hab aber wiedermal was gelernt. ist doch auch was, oder?