In meinem Symfony2 Projekt möchte ich die app_dev.php nur unter meiner IP Adresse erreichen. Wie in der config.php kann ich ein Array von IPs einstellen, so dass diese Datei nicht für jeden zugänglich ist. Ist das auch für die app_dev.php möglich?Symfony2: app_dev.php erlauben Zugang nur zu IP?
Antwort
In app_dev.php finden Sie unter Code finden
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !in_array(@$_SERVER['REMOTE_ADDR'], array('127.0.0.1', 'fe80::1', '::1'))
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
Sie können IP-Adressen, von denen Sie hier zugreifen möchten.
if (!in_array(@$_SERVER['REMOTE_ADDR'], array('Your IP address', '127.0.0.1', 'fe80::1', '::1'))
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
wow, ich überwach das total. Vielen Dank! :) –
sollte das && sein! In_array? – timhc22
Es ist keine Best Practice. Insight (Analyse durch Sensio) gibt zurück: "Es wird davon abgeraten, PHP-Antwortfunktionen (wie hier header()) zu verwenden, da es das Symfony-Ereignissystem umgeht. Verwenden Sie stattdessen die HttpFoundationResponse-Klasse." und "$ _SERVER Super Global sollte nicht verwendet werden." Siehe meine Antwort http://stackoverflow.com/a/34897282/3066708 – johnnyevolunium
set in virtual host
/var/apache2/sites-avable
<VirtualHost *:80>
ServerName domain.com/main
ServerAlias www.domain.com/main
DocumentRoot /var/www/domain/main/web
DirectoryIndex app_dev.php
</VirtualHost>
switch
<VirtualHost 127.0.0.1:80>
ServerName domain.com/main
ServerAlias www.domain.com/main
DocumentRoot /var/www/domain/main/web
DirectoryIndex app_dev.php
</VirtualHost>
Bitte erklären Sie, wie Ihre Antwort das Problem löst, es wird jedem helfen, Ihre Lösung mit mehr zu verstehen Klarheit und für zukünftige Bezugnahme. – Aziz
Dies ist eine leichte Abwandlung @ chanchal118 ‚s Antwort. Unsere Standorte sind hinter einem Load Balancer, so dass IPs ein wenig anders funktionieren. Hoffentlich wird es hilfreich für Menschen mit ähnlichen Setups sein.
Ich wäre auch interessiert, irgendwelche Gedanken zu Sicherheitsbedenken zu hören, wenn IPs gefälscht wurden.
//todo this may be a security concern if someone managed to spoof their IP as one of these
$allowedIPs = array('127.0.0.1', 'fe80::1', '::1', 'my.organisation.ip.address');
//allow app_dev.php only under these conditions (prevent for production environment) uses HTTP_X_FORWARDED_FOR because behind load balancer
if (
isset($_SERVER['HTTP_X_FORWARDED_FOR']) &&
(! in_array(@$_SERVER['HTTP_X_FORWARDED_FOR'], $allowedIPs))
){
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access the development environment.');
}
- 1. Symfony2 app_dev.php nur Fehler 500 Vorzeitiges Ende des Skripts
- 2. nur bestimmte IP erlauben die Admin-Site
- 3. Erlauben Anfrage nur von bestimmten IP
- 4. Zugang nur für eine bestimmte Website mit DropBox-API erlauben
- 5. Symfony2 benutzerdefinierte radio_widget Einheit Zugang
- 6. Alles verweigern, erlauben nur eine IP-Adresse über htaccess
- 7. Fehler, wenn ich versuche app_dev.php Datei zu öffnen
- 8. Zugriff nur innerhalb des Landes erlauben
- 9. Cordova Whitelisting erlauben-Navigation vs Zugang Herkunft
- 10. Android mit Super User Permissions? Erlauben Zugang
- 11. Erlauben und/oder nicht öffentlichen Zugang zu Website-Ordner
- 12. Regex nur erlauben alphanumerische
- 13. nur alphanumerische erlauben Werte
- 14. Symfony2 Zugang Benutzer von Zweig Extension Service
- 15. Zugang AWS elastische IP mit https
- 16. form symfony2 Nur lesen
- 17. Robots.txt: erlauben nur große SE
- 18. erlauben, nur einen Radiobutton auszuwählen
- 19. Symfony's app_dev.php zeigt "halben" Quellcode
- 20. Limite IP-Verbindungen zu einem Ports mit iptables aber erlauben eine IP-Verbindungen unlimitd
- 21. erlauben Ziffern nur für Eingänge
- 22. erlauben nur ein bestimmtes Kind
- 23. TinyMCE: Möglich zu begrenzen, um nur Kugeln zu erlauben?
- 24. Symfony app_dev.php install \ DOMDomain Fehler
- 25. nur bestimmten IP-Bereich zu asp.net Seite
- 26. Symfony2 - Zugang für Login und Register Seite für Anonymous nur nicht Benutzer
- 27. Erlauben Sie alle Wert auf Auswahl Feldtyp in Symfony2 Formularerstellung
- 28. Symfony2: ACL erlauben den Zugriff auf Routen mit Schlüsseln
- 29. $ http Erhalte Logik, um nur 200 zu erlauben OK
- 30. erlauben nur die Zahlung Paypal zu einer Webseite umleiten
Beachten Sie, dass es einfach ist, die eingehende IP-Adresse zu fälschen. Obwohl Sie app_dev nur mit einer bestimmten IP-Adresse aufrufen können, können Sie app_dev nicht nur auf Ihren Computer beschränken. Was, so vermute ich, dein wirkliches Ziel ist. – Cerad