htaccess zeitabhängig aktiv = möglich ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
yks
Mitglied
Beiträge: 1291
Registriert: 10.07.2004 02:31

htaccess zeitabhängig aktiv = möglich ?

Beitrag von yks »

hallo,

keine ahnung, ob es geht...
wie ist es möglich, daß eine htaccess nur zb von 21 uhr abds bis 3 uhr morgens aktiv ist und ich sie aber ständig auf dem server lassen kann ?
mit hilfe einer php datei oder wie könnte das gehen ?

danke + viele grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

Man könnte über einen cronjob ein php-script aufrufen, welches die Dateien austauscht oder editiert. Andere Möglichkeiten sind mir nicht bekannt.
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

interessante frage - modrewrite sieht zwar 'date and time' als rewritecondition vor - in aktion habe ich das aber auch noch nicht gesehen - vielleicht einfach einmal bei modrewrite.de nachfragen bzw. *hier* nachlesen und etwas wie

Code: Alles auswählen

RewriteEngine On
 
RewriteCond %{TIME_HOUR} >21
RewriteCond %{TIME_HOUR} <03
RewriteRule ^index\\.php$ /nachtschaltung/index.html
ausprobieren - wie bots und spider auf eine derartige umleitung reagieren sei aber auch einmal dahingestellt...
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Was willst Du erreichen? Vollständige Sperrung der Seite? Das meiste was Du in der htaccess machen kannst, kannst Du ja auch per php realisieren.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Benutzeravatar
yks
Mitglied
Beiträge: 1291
Registriert: 10.07.2004 02:31

Beitrag von yks »

hallo,

und danke für eure antworten :)

@ xwitz, dachte auch schon daran wie mit php kombinieren - aber leider zu wenig ahnung.

@ larsneo, danke für die links !
uff, um modrewrite hatte ich bisher einen bogen gemacht.
mal sehen, ob ich auf den links etwas finde.

@ mgutt, hm, klingt mir auch nach einem guten ansatz...
es wäre also möglich, mittels einer php-datei zb ip-bereiche zeitgebunden von der domain oder bestimmten seiten fernzuhalten bzw auf eine seite x weiterzuleiten ?
würde das dann auch auf das modrewrite hinauslaufen oder wie sähe das aus ?
bzw nach was für einem stichwort muß ich da am besten suchen ?
php + sperren konnte ich mir vor einiger zeit etwas ergooglen, aber das zeitgebundene begegnete mir noch nirgends.

modrewrite hatte ich irgendwie im hinterkopf, daß es einen oder mehrere nachteile hat (und mich deshalb nie näher damit befaßt) - oder ist dem nicht so ? (evtl nur auf einem mißverständnis mangels php-wissen beruht).

viele grüße, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Kannst ja evtl. Anteile meines Mods Time Based Greetings 3 dazu benutzen.

So oder so ähnlich könnte es funktionieren
(wobei mod_rewrite, wenn es denn für dein Vorhaben einzusetzen ist, natürlich eleganter wäre)

Funktion und Anweisung

- 2 x .htaccess in 2 Verzeichnissen erstellen (night + day)
- PHP-Datei im Hauptverzeichnis erstellen mit folgendem Inhalt

Code: Alles auswählen

<?php 
/** 
* 
* @package phpBB3 
* @version $Id: index.php,v 1.175 2007/07/26 15:49:44 acydburn Exp $ 
* @copyright (c) 2005 phpBB Group 
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
* 
*/ 

/** 
* @ignore 
*/ 
define('IN_PHPBB', true); 
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './'; 
$phpEx = substr(strrchr(__FILE__, '.'), 1); 
include($phpbb_root_path . 'common.' . $phpEx); 
include($phpbb_root_path . 'includes/functions_display.' . $phpEx); 

// Start session management 
$user->session_begin(); 
$auth->acl($user->data); 
$user->setup('viewforum'); 


//
// Create date/time from format and timezone
//
function create_date($format, $gmepoch, $tz)
{
	global $board_config, $lang;
	static $translate;

	if ( empty($translate) && $board_config['default_lang'] != 'english' )
	{
		@reset($lang['datetime']);
		while ( list($match, $replace) = @each($lang['datetime']) )
		{
			$translate[$match] = $replace;
		}
	}

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I")))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I"))));
}


$hour = create_date(H, time(), $board_config['board_timezone']);
   if ( $hour >= 11 && $hour <= 17 ) 
{
chmod("night/.htacces", 0777);
chmod(".htacces", 0777);
copy("night/.htacces",".htaccess");
chmod(".htacces", 0644);
}
else
{
chmod("day/.htacces", 0777);
chmod(".htacces", 0777);
copy("day/.htacces",".htaccess");
chmod(".htacces", 0644);
}

); 

?>
(Zeit lässt sich beliebig anpassen) :wink:

Code: Alles auswählen

if ( $hour >= 11 && $hour <= 17 ) 
Xwitz
Mitglied
Beiträge: 1104
Registriert: 21.06.2005 21:41

Beitrag von Xwitz »

yks hat geschrieben:es wäre also möglich, mittels einer php-datei zb ip-bereiche zeitgebunden von der domain oder bestimmten seiten fernzuhalten bzw auf eine seite x weiterzuleiten ?
würde das dann auch auf das modrewrite hinauslaufen oder wie sähe das aus ?
Eine Weiterleitung wäre die eine Möglichkeit, man könnte aber auch einfach einen anderen Inhalt ausliefern. Für einzelne Seiten wäre das kein Problem, für ein ganzes Projekt wäre es unter Umständen aufwendig und für Bilder und andere derartige Dateien erst recht. Daher solltest Du mgutts Frage möglichst genau beantworten.
Benutzeravatar
yks
Mitglied
Beiträge: 1291
Registriert: 10.07.2004 02:31

Beitrag von yks »

hallo,

@ 4even erstmal einen vielen dank für deine mühe !
deinen time based greetings mod kenne ich nicht, werde ich mal suchen.
aber prinzipiell dachte ich an ein stück code, der ähnlich wie eine htaccess unabhängig vom forum arbeitet.
wäre das bei diesem code der fall ?

zu deinem code :
den werde ich natürlich sehr gerne mal testen - aber ich muß auch gestehen, daß ich erstmal uffte, weil ich nicht gedacht hätte, daß soviel code dafür nötig ist.

ich versuche mir den code auch gerade ins 'deutsche' zu übersetzen g
vielleicht kannst du oder jemand in ganz kurzen worten mir beim eindeutschen aushelfen ?
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
hier verstehe ich nicht, was commons und includes/functions_display mit für eine rolle spielen (functions_display gar nicht habe), und eine htaccess ja auch ohne bezug zum forum funktionieren würde (wie gesagt, habe nur mini php-kenntnisse)
ist dein code nur im zusammenhang mit deinem mod funktionsfähig ?
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('viewforum');
bin ich noch am eindeutschen...
//
// Create date/time from format and timezone
//
function create_date($format, $gmepoch, $tz)
{
global $board_config, $lang;
static $translate;

if ( empty($translate) && $board_config['default_lang'] != 'english' )
{
@reset($lang['datetime']);
while ( list($match, $replace) = @each($lang['datetime']) )
{
$translate[$match] = $replace;
}
}

return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I")))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I"))));
}


$hour = create_date(H, time(), $board_config['board_timezone']);
if ( $hour >= 11 && $hour <= 17 )
daran hatte ich gar nicht gedacht : unterschied englisches und deutsches datumsformat, je nach forumseinstellung ?
somit aber auch wieder einen bezug zum forum hat, der eigentlich von mir aus gar nicht nötig wäre
{
chmod("night/.htacces", 0777);
chmod(".htacces", 0777);
copy("night/.htacces",".htaccess");
chmod(".htacces", 0644);
}
else
{
chmod("day/.htacces", 0777);
chmod(".htacces", 0777);
copy("day/.htacces",".htaccess");
chmod(".htacces", 0644);
}
das leuchtet mir noch am meisten ein :grin:


@ xwitz, danke auch dir nochmal für deine antwort :)
ich versuche es mal genauer zu beschreiben.
xwitz hat geschrieben:
yks hat geschrieben:es wäre also möglich, mittels einer php-datei zb ip-bereiche zeitgebunden von der domain oder bestimmten seiten fernzuhalten bzw auf eine seite x weiterzuleiten ?
würde das dann auch auf das modrewrite hinauslaufen oder wie sähe das aus ?
Eine Weiterleitung wäre die eine Möglichkeit, man könnte aber auch einfach einen anderen Inhalt ausliefern. Für einzelne Seiten wäre das kein Problem, für ein ganzes Projekt wäre es unter Umständen aufwendig und für Bilder und andere derartige Dateien erst recht. Daher solltest Du mgutts Frage möglichst genau beantworten.
ursprüngliche idee war, einen kleinen ip-bereich (zb aaa.bbb.) für einige stunden am tag von der ganzen domain und/oder auch zb nur der chatseite fernzuhalten.
ganz sperren ist vielleicht einfacher, keine ahnung.

ob weiterleitung oder ausgabe eines anderen inhalts wäre mir egal, da es in meinen augen auf das gleiche hinausläuft.
wenn letzteres einfacher wäre, würde das evtl auch gehen ?

eine weiterleitung/anderer inhalt fände ich eleganter, da ich dann nur solche informationen auf der seite anzeigen lassen könnte, wie ich will. also zb eine html-datei mit der meldung "wir schlafen" oder irgendwas.

im moment sieht es so aus, daß man über die fehlerseiten noch diverse andere infos erhält, was ich eigentlich nicht so sinnvoll finde.

minimum wunsch variante also : zeitgebundene sperrung von der domain
luxus wunsch variante : mit weiterleitung (/anderer inhalt) zu einer html-seite
(maxi-luxus wunsch variante : mit möglichkeit bei der sperrung zwischen chatseite und forum und ganzer domain zu unterscheiden)

hoffe, ist nicht zu kompliziert erklärt ? :-?

*mal noch auf eure antwort warte und weiter an meiner deutschübersetzung des codes arbeite

viele grüße und für eure bisherige mühe schon mal vielen dank, yks
Mit subsilver2 macht es noch viel mehr Spaß ! :)
Benutzeravatar
larsneo
Mitglied
Beiträge: 2622
Registriert: 07.03.2002 15:23
Wohnort: schwäbisch gmünd
Kontaktdaten:

Beitrag von larsneo »

aber prinzipiell dachte ich an ein stück code, der ähnlich wie eine htaccess unabhängig vom forum arbeitet.
ich verstehe daher nicht, warum du das nicht über die o.a. modrewrite geschichte versuchst zu lösen - deine anforderung kann und sollte man nun einmal direkt auf serverebene abdecken - auf applikationsebene zu arbeiten kostet dabei doch letztendlich nur performance ohne ein plus an funktionalität zu bieten :roll:
gruesse aus dem wilden sueden
larsneo
..::[krapohl.net]::..
Benutzeravatar
mgutt
Mitglied
Beiträge: 2999
Registriert: 31.08.2004 16:44
Wohnort: Hennef
Kontaktdaten:

Beitrag von mgutt »

Und was hat es sich mit dem IP-Bereich auf sich? Also Du willst, dass bestimmte Besucher den Chat noch nutzen können und andere nicht bzw. die sollen denken der Chat wäre gerade geschlossen? Meinst Du wirklich, dass du das lange geheimhalten kannst. Die Leute werden schnell davon Wind bekommen und Deine Seite vielleicht komplett meiden.
meine Foren: http://www.maxrev.de/communities.htm
Ich kaufe Dein Forum! Angebote bitte an marc at gutt punkt it
Antworten

Zurück zu „Coding & Technik“