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
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
Můžeš použít $httpRequest->getRemoteAddress(); viz dokumentace.
Mimochodem, proč zabezpečení právě pomocí IP adresy? Není to zbytečné?
- akadlec
- Člen | 1326
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",....]