Hallo
hab ein kleines Problem
und zwar hab ich verschiedene Seiten durch einen php-Login geschützt (man muss sich also anmelden um die Seiten zu betreten)
Problem jedoch ist dass der ganze Log-in eigentlich für die Katz ist weil man im Inline-frame nur Rechtsklick machen muss um die Links zu sehen die direkt (ohne Passwort) zu den Seiten führen...
Ich könnte jetzt zwar die Verzeichnisse noch durch .htaccess schützen aber das wär ebenfalls bisschen blöd weil man sich sozusagen doppelt anmelden müsste!!
Wer hat eine Idee?
mfG Template11
Problem mit Log-in:
-
-
...weil man im Inline-frame nur Rechtsklick machen muss um die Links zu sehen die direkt (ohne Passwort) zu den Seiten führen...
Und warum hast du Links, die direkt zu der Seite führen ohne Login??
Ich nehme an du machst das so:
Man hat einen Link und wenn man das Passwort eingibt, kommt man zum "echten" Link.
Du solltest das aber anders machen:
In einer Session speicherst du, als welcher User man angemeldet ist. (eventuell noch andere Sachen)
Mit isset prüfst du dann, ob diese Daten gesetzt sind, wenn ja gibst du die Seite aus, sonst kommt ein Login.
Wenn du also durch den Login Post-Daten erhälst, prüfst du die und die landen in der Session.Viele liebe Grüße
The User -
Und warum hast du Links, die direkt zu der Seite führen ohne Login??
Ich nehme an du machst das so:
Man hat einen Link und wenn man das Passwort eingibt, kommt man zum "echten" Link.
Du solltest das aber anders machen:
In einer Session speicherst du, als welcher User man angemeldet ist. (eventuell noch andere Sachen)
Mit isset prüfst du dann, ob diese Daten gesetzt sind, wenn ja gibst du die Seite aus, sonst kommt ein Login.
Wenn du also durch den Login Post-Daten erhälst, prüfst du die und die landen in der Session.
Viele liebe Grüße
The User
nein es ist schon so dass man die Links nur sieht wenn man eingeloggt ist... aber man soll den Link (auch wenn man ihn kennt) garnicht ohne Log-in aufrufen können... Ich weiß aber nicht wie ich das machen soll...
Ich nehme wie gesagt ein vorgefertigtes Script von der Software Yoomla (wobei ich darauf aus verschiedenen Gründen nicht verzichten möchte)
es gibt also schonmal das "Problem" dass ich kein neues Script schreiben kann sondern an den bestehenden rumschrauben + neu konfigurieren müsste und weil ich bisher erst 2 Stunden in meinem Leben mit Yoomla zutun gehabt und ehrlich gesagt auch kein php-Überflieger bin (eher ein Anfänger) weiß ich entsprechend nicht bei welchen Dateien ich was erledigen müsste ...
aber vielleicht kann mir das einer der sich besser auskennt machen? (natürlich gegen Bezahlung) -
ok ich hab jetzt schonmal eine Datei gefunden die so aussieht als könnte sie zumindest was mit dem Registrierungsformular zutun haben...
was ich nur nicht ganz verstehe: WO ist definiert wo die Daten (in der Datenbank) gespeichert werden? Das einzige was ich sehe ist <form action="index.php"....
Denn genau diese Dateien brauch ich wahrscheinlich...
<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<script language="javascript" type="text/javascript">
function submitbutton( pressbutton ) {
var form = document.userform;
var r = new RegExp("[\<|\>|\'|\'|\%|\;|\(|\)|\&|\+|\-]", "i");
if (pressbutton == 'cancel') {
form.task.value = 'cancel';
form.submit();
return;
}
// do field validation
if (form.name.value == "") {
alert( "<?php echo JText::_( 'Please enter your name.', true );?>" );
} else if (form.email.value == "") {
alert( "<?php echo JText::_( 'Please enter a valid e-mail address.', true );?>" );
} else if (((form.password.value != "")(form.password2.value != "")) && (form.password.value != form.password2.value)){
alert( "<?php echo JText::_( 'REGWARN_VPASS2', true );?>" );
} else if (r.exec(form.password.value)) {
alert( "<?php printf( JText::_( 'VALID_AZ09', true ), JText::_( 'Password', true ), 4 );?>" );
} else {
form.submit();
}
}
</script>
<form action="index.php" method="post" name="userform" autocomplete="off">
<?php if ( $this->params->def( 'show_page_title', 1 ) ) : ?>
<div class="componentheading<?php echo $this->params->get( 'pageclass_sfx' ); ?>">
<?php echo $this->escape($this->params->get('page_title')); ?>
</div>
<?php endif; ?>
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr>
<td>
<label for="username">
<?php echo JText::_( 'User Name' ); ?>:
</label>
</td>
<td>
<span><?php echo $this->user->get('username');?></span>
</td>
</tr>
<tr>
<td width="120">
<label for="name">
<?php echo JText::_( 'Your Name' ); ?>:
</label>
</td>
<td>
<input class="inputbox" type="text" id="name" name="name" value="<?php echo $this->user->get('name');?>" size="40" />
</td>
</tr>
<tr>
<td>
<label for="email">
<?php echo JText::_( 'email' ); ?>:
</label>
</td>
<td>
<input class="inputbox" type="text" id="email" name="email" value="<?php echo $this->user->get('email');?>" size="40" />
</td>
</tr>
<?php if($this->user->get('password')) : ?>
<tr>
<td>
<label for="password">
<?php echo JText::_( 'Password' ); ?>:
</label>
</td>
<td>
<input class="inputbox" type="password" id="password" name="password" value="" size="40" />
</td>
</tr>
<tr>
<td>
<label for="password2">
<?php echo JText::_( 'Verify Password' ); ?>:
</label>
</td>
<td>
<input class="inputbox" type="password" id="password2" name="password2" size="40" />
</td>
</tr>
<?php endif; ?>
</table>
<?php if(isset($this->params)) : echo $this->params->render( 'params' ); endif; ?>
<button class="button" type="submit" onclick="submitbutton( this.form );return false;"><?php echo JText::_('Save'); ?></button>
<input type="hidden" name="username" value="<?php echo $this->user->get('username');?>" />
<input type="hidden" name="id" value="<?php echo $this->user->get('id');?>" />
<input type="hidden" name="gid" value="<?php echo $this->user->get('gid');?>" />
<input type="hidden" name="option" value="com_user" />
<input type="hidden" name="task" value="save" />
<?php echo JHTML::_( 'form.token' ); ?>
</form>und hier das vom Login:
<?php defined('_JEXEC') or die('Restricted access'); ?>
<?php if(JPluginHelper::isEnabled('authentication', 'openid')) :
$lang = &JFactory::getLanguage();
$lang->load( 'plg_authentication_openid', JPATH_ADMINISTRATOR );
$langScript = 'var JLanguage = {};'.
' JLanguage.WHAT_IS_OPENID = \''.JText::_( 'WHAT_IS_OPENID' ).'\';'.
' JLanguage.LOGIN_WITH_OPENID = \''.JText::_( 'LOGIN_WITH_OPENID' ).'\';'.
' JLanguage.NORMAL_LOGIN = \''.JText::_( 'NORMAL_LOGIN' ).'\';'.
' var comlogin = 1;';
$document = &JFactory::getDocument();
$document->addScriptDeclaration( $langScript );
JHTML::_('script', 'openid.js');
endif; ?>
<form action="<?php echo JRoute::_( 'index.php', true, $this->params->get('usesecure')); ?>" method="post" name="com-login" id="com-form-login">
<table width="100%" border="0" align="center" cellpadding="4" cellspacing="0" class="contentpane<?php echo $this->params->get( 'pageclass_sfx' ); ?>">
<tr>
<td colspan="2">
<?php if ( $this->params->get( 'show_login_title' ) ) : ?>
<div class="componentheading<?php echo $this->params->get( 'pageclass_sfx' ); ?>">
<?php echo $this->params->get( 'header_login' ); ?>
</div>
<?php endif; ?>
<div>
<?php echo $this->image; ?>
<?php if ( $this->params->get( 'description_login' ) ) : ?>
<?php echo $this->params->get( 'description_login_text' ); ?>
<br/><br/>
<?php endif; ?>
</div>
</td>
</tr></table>
<fieldset class="input">
<p id="com-form-login-username">
<label for="username"><?php echo JText::_('Username') ?></label><br />
<input name="username" id="username" type="text" class="inputbox" alt="username" size="18" />
</p>
<p id="com-form-login-password">
<label for="passwd"><?php echo JText::_('Password') ?></label><br />
<input type="password" id="passwd" name="passwd" class="inputbox" size="18" alt="password" />
</p>
<?php if(JPluginHelper::isEnabled('system', 'remember')) : ?>
<p id="com-form-login-remember">
<label for="remember"><?php echo JText::_('Remember me') ?></label>
<input type="checkbox" id="remember" name="remember" class="inputbox" value="yes" alt="Remember Me" />
</p>
<?php endif; ?>
<input type="submit" name="Submit" class="button" value="<?php echo JText::_('LOGIN') ?>" />
</fieldset>
<ul>
<li>
<a href="<?php echo JRoute::_( 'index.php?option=com_user&view=reset' ); ?>">
<?php echo JText::_('FORGOT_YOUR_PASSWORD'); ?></a>
</li>
<li>
<a href="<?php echo JRoute::_( 'index.php?option=com_user&view=remind' ); ?>">
<?php echo JText::_('FORGOT_YOUR_USERNAME'); ?></a>
</li>
<?php
$usersConfig = &JComponentHelper::getParams( 'com_users' );
if ($usersConfig->get('allowUserRegistration')) : ?>
<li>
<a href="<?php echo JRoute::_( 'index.php?option=com_user&task=register' ); ?>">
<?php echo JText::_('REGISTER'); ?></a>
</li>
<?php endif; ?>
</ul><input type="hidden" name="option" value="com_user" />
<input type="hidden" name="task" value="login" />
<input type="hidden" name="return" value="<?php echo $this->return; ?>" />
<?php echo JHTML::_( 'form.token' ); ?>
</form>