Subversion Repositories ALCASAR

Rev

Rev 2751 | Rev 2809 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2751 Rev 2766
Line 1... Line 1...
1
<?php
1
<?php
2
# $Id: intercept.php 2751 2019-10-08 13:40:17Z rexy $
2
# $Id: intercept.php 2766 2019-11-19 21:37:58Z rexy $
3
#
3
#
4
# intercept.php for ALCASAR captive portal
4
# intercept.php for ALCASAR captive portal
5
# Copyright (C) 2003, 2004 Mondru AB.
5
# Copyright (C) 2003, 2004 Mondru AB.
6
# Modify by REXY & steweb57
6
# Modify by REXY & steweb57
7
# UI & css style by stephane ERARD
7
# UI & css style by stephane ERARD
Line 213... Line 213...
213
	$l_online_time			= "مذة الإتصال";
213
	$l_online_time			= "مذة الإتصال";
214
	$l_remaining_time		= "الوقت المتبق";
214
	$l_remaining_time		= "الوقت المتبق";
215
	$l_uam_domain			= ":المواقع المسموحة ";
215
	$l_uam_domain			= ":المواقع المسموحة ";
216
	$l_autoregistration		= "تسجيل ذاتي (SMS)";
216
	$l_autoregistration		= "تسجيل ذاتي (SMS)";
217
} else if ($Language === 'de') {	// German
217
} else if ($Language === 'de') {	// German
218
	$l_ChilliError			= "Die Authentifizierung ist erfolgreich durch die Nutzung des Portals erfolgt.";
218
	$l_ChilliError			= "Sie wurden erfolgreich durch das Portal authentifiziert.";
219
	$l_login			= "Erfolgreiche Authentifizierung.<HR>Schlißen dieses fensters unterbricht die sitzung";
219
	$l_login			= "Erfolgreiche Authentifizierung.<HR>Schlißen dieses fensters unterbricht die Sitzung";
220
	$l_logout			= "Beenden der Verbindung";
220
	$l_logout			= "Beenden der Verbindung";
221
	$l_loginfailed			= "Authentifizierungsfehler Eigenverbrauch";
221
	$l_loginfailed			= "Authentifizierungsfehler";
222
	$l_loggingin			= "Kennzeichnung auf dem Eigenverbrauch";
222
	$l_loggingin			= "Authentifizierung auf dem Portal";
223
	$l_loggedcont			= "Zutrittskontrolle";
223
	$l_loggedcont			= "Zugangskontrolle";
224
	$l_loggedout			= "Ihre Sitzung ist geschlossen";
224
	$l_loggedout			= "Ihre Sitzung wurde geschlossen";
225
	$l_user				= "Benutzer";
225
	$l_user				= "Benutzer";
226
	$l_password			= "Passwort";
226
	$l_password			= "Passwort";
227
	$l_wait				= "Bitte warten Sie einen Moment ...";
227
	$l_wait				= "Bitte warten Sie einen Moment ...";
228
	$l_onlinetime			= "Online-Zeit:";
228
	$l_onlinetime			= "Online-Zeit:";
229
	$l_remainingtime		= "Abmelden:";
229
	$l_remainingtime		= "Abmelden:";
230
	$l_encrypted			= "Die Öffnung muß der Anschluß Zahlen";
230
	$l_encrypted			= "Die Verbindung muss verschlüsselt sein";
231
	$l_boutonO			= "Authentifizierung";
231
	$l_boutonO			= "Authentifizierung";
232
	$l_boutonF			= "Schließen";
232
	$l_boutonF			= "Schließen";
233
	$l_loggedin_stringl1		= "Information System Security";
233
	$l_loggedin_stringl1		= "Information System Security";
234
	$l_loggedin_stringl2		= "Dieses Portal wurde eingerichtet, um ordnungsgemäß die Rückverfolgbarkeit, der Zurechenbarkeit und der Nicht-Anerkennung der Verbindungen.";
234
	$l_loggedin_stringl2		= "Dieses Portal wurde eingerichtet, um ordnungsgemäß die Rückverfolgbarkeit, die Zurechenbarkeit und die Nicht-Abstreitbarkeit der Verbindungen zu sichern.";
235
	$l_loggedin_stringl3		= "Ihre Tätigkeit im Netzwerk registriert ist nach Schutz der Privatsphäre.";
235
	$l_loggedin_stringl3		= "Ihre Tätigkeiten im Netzwerk werden im Hinblick auf den Schutz Ihrer Privatsphäre gespeichert.";
236
	$l_loggedin_stringl4		= "Die gespeicherten Daten nicht pouront genutzt werden, dass von einer Justizbehörde im Rahmen einer Untersuchung.";
236
	$l_loggedin_stringl4		= "Die gespeicherten Daten können von einer Justizbehörde im Falle einer Untersuchung genutzt werden.";
237
	$l_loggedin_stringl5		= "Diese Daten werden automatisch gelöscht nach einem Jahr.";
237
	$l_loggedin_stringl5		= "Diese Daten werden nach einem Jahr automatisch gelöscht.";
238
	$l_loggedin_stringl6		= "Click <a href=\"$alcasarpath\">here</a> to change your password or to integrate the security certificate in your browser";
238
	$l_loggedin_stringl6		= "Klicken Sie <a href=\"$alcasarpath\">hier</a> um Ihr Password zu ändern oder das Sicherheitszertifikat für Ihren Browser herunterzuladen";
239
	$l_loggedout_string		= "Trennung des Portals erfolgt Gefangener!";
239
	$l_loggedout_string		= "Sie wurden vom Portal getrennt!";
240
	$l_reply_0			= "Falscher Benutzername oder falsches Passwort";
240
	$l_reply_0			= "Falscher Benutzername oder falsches Passwort";
241
	$l_reply_1			= "Ihr Tageskontingent wurde erreicht (Dauer oder Volumen)";
241
	$l_reply_1			= "Ihr Tageskontingent wurde erreicht (Dauer oder Volumen)";
242
	$l_reply_2			= "Ihr monatliches Kontingent wurde erreicht (Dauer oder Volumen)";
242
	$l_reply_2			= "Ihr monatliches Kontingent wurde erreicht (Dauer oder Volumen)";
243
	$l_reply_3			= "You try to connect outside of your allowed timespan";
243
	$l_reply_3			= "Sie haben versucht sich außerhalb der erlaubten Zeiten zu verbinden";
244
	$l_reply_4			= "your account expired";
244
	$l_reply_4			= "Ihr Account ist abgelaufen";
245
	$l_reply_5			= "You have reached the maximum number of simultaneous logins";
245
	$l_reply_5			= "Sie haben die maximale Anzahl an simultanen Verbindungen erreicht";
246
	$l_reply_6			= "Your authorized connexion time has been reached";
246
	$l_reply_6			= "Ihre maximale Verbindungszeit wurde erreicht";
247
	$l_online_time			= "Online-zeit";
247
	$l_online_time			= "Online-Zeit";
248
	$l_remaining_time		= "Restzeit";
248
	$l_remaining_time		= "Verbleibende Zeit";
249
	$l_uam_domain			= "Autorisierten websites : ";
249
	$l_uam_domain			= "Authorisierte Webseiten : ";
250
	$l_autoregistration		= "Automatische registrierung";
250
	$l_autoregistration		= "Automatische Registrierung";
251
} else if ($Language === 'nl') {	// Dutch
251
} else if ($Language === 'nl') {	// Dutch
252
	$l_ChilliError			= "De authenticatie moet een succes worden via de captive portal dienst.";
252
	$l_ChilliError			= "De authenticatie moet een succes worden via de captive portal dienst.";
253
	$l_login			= "Succesvolle authenticatie.<HR>Dit venster te sluiten onderbreekt uw sessie.";
253
	$l_login			= "Succesvolle authenticatie.<HR>Dit venster te sluiten onderbreekt uw sessie.";
254
	$l_logout			= "Slotkoers verbinding";
254
	$l_logout			= "Slotkoers verbinding";
255
	$l_loginfailed			= "Authenticatie mislukt";
255
	$l_loginfailed			= "Authenticatie mislukt";
Line 484... Line 484...
484
if ($result === 0) {
484
if ($result === 0) {
485
	header("Location: $uamproto://$uamip:$uamport/prelogin");
485
	header("Location: $uamproto://$uamip:$uamport/prelogin");
486
	exit();
486
	exit();
487
}
487
}
488
 
488
 
-
 
489
//////////////////////////////////////////////
-
 
490
///////////// TEST VARIABLES /////////////////
-
 
491
//////////////////////////////////////////////////////////////////
-
 
492
//$result = 5;     // = 1/2/3/4/5 
-
 
493
// reply is a displayed sentence
-
 
494
//$reply = 'dsfsdfsdfdsf';    //  = ''/'Incorrect user/password'
-
 
495
//$service_SMS_status = true;    // = true/false
-
 
496
// test of domain Allowed
-
 
497
//////////////////////////////////////////////////////////////////
-
 
498
 
489
// Cleaning the cache
499
// Cleaning the cache
490
header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
500
header('Expires: Tue, 01 Jan 2000 00:00:00 GMT');
491
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
501
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
492
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
502
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
493
header('Cache-Control: post-check=0, pre-check=0', false);
503
header('Cache-Control: post-check=0, pre-check=0', false);
Line 525... Line 535...
525
		if ((result === 2) || (result === 3) || result === 5) { // failed or logoff or notyet
535
		if ((result === 2) || (result === 3) || result === 5) { // failed or logoff or notyet
526
			document.form1.username.focus();
536
			document.form1.username.focus();
527
		}
537
		}
528
	}
538
	}
529
	</script>
539
	</script>
-
 
540
	<link rel="stylesheet" href="/css/bootstrap.min.css" type="text/css">
530
	<link rel="stylesheet" href="/css/style_intercept.css" type="text/css">
541
	<link rel="stylesheet" href="/css/intercepts.css" type="text/css">
-
 
542
 
531
</head>
543
</head>
532
<body onLoad="javascript:doOnLoad(<?= $result ?>,'<?= $userurl ?>','<?= $redirurl ?>','<?= $adminurl ?>','<?= $timeleft ?>')">
544
<body onLoad="javascript:doOnLoad(<?= $result ?>,'<?= $userurl ?>','<?= $redirurl ?>','<?= $adminurl ?>','<?= $timeleft ?>')">
533
	<center>
545
	<div class="col-xs-12">	
534
 
-
 
535
	<?php if ($result === 2 || $result === 3 || $result === 5): // failed or logoff or notyet ?>
546
	<?php if ($result === 2 || $result === 3 || $result === 5): // failed or logoff or notyet ?>
536
	<div id="logon">
547
		<div class ="row">
-
 
548
			<div class="col-xs-12 col-sm-10 col-sm-offset-1">
537
		<table id="mobile-logon-header">
549
				<div class="row banner">
-
 
550
					<div class="col-xs-8 col-xs-offset-2 col-sm-12 col-sm-offset-0">
-
 
551
							<h1 class="organisme"><?= $organisme ?></h1>
-
 
552
					</div>
538
			<tr>
553
				</div>
539
				<td width="20%">
554
				<div class="row">
-
 
555
					<form name="form1" class="form-horizontal col-xs-12 col-sm-12 col-md-10 col-md-offset-1 background-form" method="post" action="<?= $loginpath ?>">
-
 
556
						<div class="row">
540
					<img id="logo-organ" class="mobile-only" src="/images/organisme.png">
557
							<div class="col-xs-12 col-sm-12 col-md-6 col-md-offset-3">
-
 
558
								<h2 class="titre-controle-acces"><?= $l_loggedcont ?></h2>
541
				</td>
559
							</div>
-
 
560
							<div class="hidden-xs hidden-sm col-md-3">
-
 
561
							<?php
-
 
562
							// Read the "Domain allowed" file
-
 
563
							$tab = file(DOMAIN_ALLOWED_LIST);
-
 
564
							if ($tab) { // the file isn't empty
-
 
565
								echo '<div id="authorized_domain">'.$l_uam_domain.'</div>';
542
				<td width="60%">
566
								echo '<ul>';
543
					<h1><?= $organisme ?></h1>
567
								foreach ($tab as $line) {
-
 
568
									if (trim($line) !== '') { // the line isn't empty
-
 
569
										$domain_allowed = explode('#', $line);
544
					<h2><?= $l_loggedcont ?></h2>
570
										if (trim($domain_allowed[1]) !== '') {
-
 
571
											$domain = explode('"', $domain_allowed[0]);
-
 
572
											// remove every '.' from the beginning of domain
-
 
573
											$domain[1] = ltrim($domain[1], '.');
-
 
574
											echo '<li><a href="http://'.trim($domain[1]).'">'.trim($domain_allowed[1]).'</a></li>';
-
 
575
										}
-
 
576
									}
-
 
577
								}
-
 
578
								echo '</ul>';
-
 
579
							}
-
 
580
							?>
-
 
581
 
-
 
582
							</div>
-
 
583
						</div>
-
 
584
						<div>
545
					<?php if ($result === 2): // failed ?>
585
						<?php if ($result === 2): // failed ?>
546
						<h3 style="text-align: center"><?= $l_loginfailed ?></h3>
586
							<h3 class="titre-erreur"><?= $l_loginfailed ?>
547
						<?php if ($reply): // traitement du reply ... ?>
587
							<?php if ($reply): // traitement du reply ... ?>
-
 
588
								: <?= $reply ?>
-
 
589
							<?php endif; ?>
-
 
590
							</h3>
-
 
591
						<?php endif;
-
 
592
						if ($userurl === 'http://logout/') $userurl = 'http://www.google.com'; // Avoid cyclic logout
-
 
593
						?>
-
 
594
 
-
 
595
						</div>
-
 
596
 
-
 
597
						<div class="row inputs">
-
 
598
							<div class="hidden-xs col-sm-2">
-
 
599
								 <img id="logo-organ" class="img-responsive" src="/images/organisme.png">
-
 
600
							</div>
-
 
601
							<div class="col-xs-12 col-sm-8">
-
 
602
								<input type="hidden" name="challenge" value="<?= $challenge ?>">
-
 
603
								<input type="hidden" name="userurl" value="<?= $userurl ?>">
-
 
604
								<div class="form-group row">
-
 
605
									<div class="col-xs-2 col-sm-2 control-label">
-
 
606
										<p class="boite-info-text"><?= $l_user ?></p>
-
 
607
									</div>
-
 
608
									<div class="col-xs-8 col-sm-8" id="input_username">
-
 
609
										<input type="text" class="form-control boite-info-text" name="username" autocomplete="off" placeholder="<?= $l_user ?>">
-
 
610
									</div>
-
 
611
								</div>
-
 
612
								<div class="form-group row">
-
 
613
									<div class="col-xs-2 col-sm-2 control-label">
-
 
614
										<p class="boite-info-text"><?= $l_password ?></p>
-
 
615
									</div>
-
 
616
									<div class="col-xs-8 col-sm-8" id="input_password">
-
 
617
										<input type="password" class="form-control boite-info-text" name="password" autocomplete="off" placeholder="<?= $l_password ?>">
-
 
618
									</div>
-
 
619
								</div>
-
 
620
							</div>
-
 
621
							<div class="hidden-xs col-sm-2">
-
 
622
							
-
 
623
							</div>
-
 
624
						</div>
-
 
625
						<div class="row row_button">
548
							<center><?= $reply ?><br><br></center>
626
							<div class="col-xs-12 text-center">
-
 
627
								<input value="<?= $l_boutonO ?>" class="btn btn-primary button" type="submit" name="button">
-
 
628
							</div>	
-
 
629
						</div>
-
 
630
						<?php if ($service_SMS_status): ?>
-
 
631
							<div class= "row autoregistration_sms">
-
 
632
								<a href="autoregistrationinfo.php"><?= $l_autoregistration ?></a>
-
 
633
							</div>
549
						<?php endif; ?>
634
						<?php endif; ?>
550
					<?php endif;
-
 
551
					if ($userurl === 'http://logout/') $userurl = 'http://www.google.com'; // Avoid cyclic logout
-
 
552
					?>
-
 
553
				</td>
635
					</form>
554
				<td width="20%">
-
 
555
				</td>
636
				</div>
556
			</tr>
637
			</div>
557
		</table>
638
		</div>
558
 
-
 
559
 
-
 
560
		<img id="logo-alcasar" src="/images/logo-alcasar.png">
639
			<div class="row boite-info-spacing">
561
		<form name="form1" method="post" action="<?= $loginpath ?>">
640
				<div class="col-xs-12 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 boite-info-spacing">
562
			<input type="hidden" name="challenge" value="<?= $challenge ?>">
641
					<table id="boite-info" cellSpacing="0" cellPadding="0">
563
			<input type="hidden" name="userurl" value="<?= $userurl ?>">
-
 
564
			<table id="boite-logon">
642
						<tr class="boite-info-titre">
-
 
643
							<td align="center"><font color="red"><b><?= $l_loggedin_stringl1 ?></b></font></td>
565
				<tr>
644
						</tr>
566
					<td class="desktop-only" width="20%" rowspan="4"> <img id="logo-organ" src="/images/organisme.png"></td>
-
 
567
					<td class="desktop-only" width="30%" align="right"><?= $l_user ?></td>
645
						<tr class="boite-info-text">
568
					<td id="username_input" width="100%" align="center"><input type="text" maxLength="32" name="username" autocomplete="off" placeholder="<?= $l_user ?>"></td>
-
 
569
				</tr>
646
							<td align="left">
570
				<tr>
647
								<ul>
571
					<td class="desktop-only" align="right"><?= $l_password ?></td>
648
									<li><?= $l_loggedin_stringl2 ?></li>
572
					<td id="password_input" width="100%" align="center"><input maxLength="32" type="password" name="password" autocomplete="off" placeholder="<?= $l_password  ?>"></td>
-
 
573
				</tr>
649
									<li><?= $l_loggedin_stringl4 ?></li>
574
				<tr>
-
 
575
					<td height="23" id="authenticate-button" align="center"><input value="<?= $l_boutonO ?>" type="submit" name="button"></td>
650
									<li><?= $l_loggedin_stringl3 ?></li>
576
					<?php if ($service_SMS_status): ?>
651
									<li><?= $l_loggedin_stringl5 ?></li>
577
						<td><a href="autoregistrationinfo.php"><?= $l_autoregistration ?></a></td>
652
									<li><?= $l_loggedin_stringl6 ?></li>
-
 
653
								</ul>
578
					<?php endif; ?>
654
							</td>
579
				</tr>
655
						</tr>
580
			</table>
656
					</table>
581
		</form>
657
				</div>
582
		<table id="boite-info" cellSpacing="0" cellPadding="0" width="80%">
658
				<div class="hidden-xs hidden-sm col-md-2">
583
			<tr>
-
 
584
				<td align="center"><font color="red"><b><?= $l_loggedin_stringl1 ?></b></font></td>
659
					<img id="logo-alcasar" class="img-responsive" src="/images/logo-alcasar.png">
585
			</tr>
660
				</div>
586
			<tr>
661
			</div>
587
				<td align="left">
662
			<div class="row">
588
					<ul>
-
 
589
						<li><?= $l_loggedin_stringl2 ?></li>
663
				<div class="col-xs-6 col-sm-12 hidden-md hidden-lg">
590
						<li><?= $l_loggedin_stringl4 ?></li>
664
						<img id="logo-alcasar" class="img-responsive img-xs-bottom" src="/images/logo-alcasar.png">
591
						<li><?= $l_loggedin_stringl3 ?></li>
665
					</div>
-
 
666
 
592
						<li><?= $l_loggedin_stringl5 ?></li>
667
				<div class="col-xs-6 hidden-sm hidden-md hidden-lg">
593
						<li><?= $l_loggedin_stringl6 ?></li>
668
					<img id="logo-organ" class="img-responsive img-xs-bottom" src="/images/organisme.png">
594
					</ul>
669
 
595
				</td>
670
				</div>
596
			</tr>
671
			</div>
597
		</table>
672
		<div class="row" style="text-align: center">
-
 
673
			<div class="col-xs-8 col-xs-offset-2 col-sm-6 col-sm-offset-3 hidden-md hidden-lg">
598
		<?php
674
			<?php
599
		// Read the "Domain allowed" file
675
			// Read the "Domain allowed" file
600
		$tab = file(DOMAIN_ALLOWED_LIST);
676
			$tab = file(DOMAIN_ALLOWED_LIST);
601
		if ($tab) { // the file isn't empty
677
			if ($tab) { // the file isn't empty
602
			echo '<div id="authorized_domain">'.$l_uam_domain;
678
				echo '<div id="authorized_domain">'.$l_uam_domain.'</div>';
-
 
679
				echo '<ul>';
603
			foreach ($tab as $line) {
680
				foreach ($tab as $line) {
604
				if (trim($line) !== '') { // the line isn't empty
681
					if (trim($line) !== '') { // the line isn't empty
605
					$domain_allowed = explode('#', $line);
682
						$domain_allowed = explode('#', $line);
606
					if (trim($domain_allowed[1]) !== '') {
683
						if (trim($domain_allowed[1]) !== '') {
607
						$domain = explode('"', $domain_allowed[0]);
684
							$domain = explode('"', $domain_allowed[0]);
608
						// remove every '.' from the beginning of domain
685
							// remove every '.' from the beginning of domain
609
						$domain[1] = ltrim($domain[1], '.');
686
							$domain[1] = ltrim($domain[1], '.');
610
						echo '<a href="http://'.trim($domain[1]).'">'.trim($domain_allowed[1]).'</a>  ';
687
							echo '<li><a href="http://'.trim($domain[1]).'">'.trim($domain_allowed[1]).'</a></li>';
-
 
688
						}
611
					}
689
					}
612
				}
690
				}
-
 
691
				echo '</ul>';
613
			}
692
			}
614
			echo '</div>';
693
			?>
615
		}
694
			</div>
616
		?>
695
		</div>
617
	</div>
696
	</div>
618
	<?php endif; ?>
697
	<?php endif; ?>
619
 
-
 
620
	</center>
-
 
621
</body>
698
</body>
622
</html>
699
</html>