Obmedzenie stranky na IP adresu

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
frees
Člen | 25
+
0
-

Dobry den, chcel by som sa spytat ci je mozne zablokovat spustenie presenteru a zobrazenie suvisiacej stranky na IP adresu.

Priklad: mam aplikaciu, ktora ma 4 stranky bezne dostupne, a k piatej by som chcel pristupovat len z jednej povolenej (mojej domacej IP adresy). Da sa take nieco urobit? Pripadne da sa toto zabezpecenie spravit nejakym inym sposobom? Pripadne je mozne spolahnut sa na hodnotu, ktora je ulozena v $_SERVER[‚REMOTE_ADDR‘]?

Petr Hudík
Člen | 49
+
0
-

Můžeš použít $httpRequest->getRemoteAddress(); viz dokumentace.

Mimochodem, proč zabezpečení právě pomocí IP adresy? Není to zbytečné?

akadlec
Člen | 1326
+
0
-

Jo dá. Já mám něco takového abych zamezil přístup k appce pro nondevelopery a přesměroval je na landing page:

abstract class FrontendPresenter extends BasePresenter
{
	protected function startup()
	{
		// Check if IP address is allowed
		if ( !in_array($this->subModuleName, array('Landing', 'CDN')) && !in_array($this->httpRequest->getRemoteAddress(), $this->context->parameters['testers']) ) {
			// Redirect to landing page
			$this->redirect(":Landing:Frontend:Default:default");
	}
}

a v neonu mám zadefinovaný seznam adres:

common:
	parameters:
		testers : ["x.x.x.x",....]