webForumDet fria alternativet

Apache httpd.conf <Directory /> overriding

12 svar · 727 visningar · startad av nidron

nidronMedlem sedan jan. 2005257 inlägg
#1

Jag kom på den fenomenala idéen att sätta

<Directory />
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>

...allra sist i httpd.conf-filen för att förbjuda tjuvkikare från att se vad jag utvecklar lokalt(har tyvärr ingen router atm). Men det verkar inte fungera.
Det finns ju by default redan en <Directory />, men borde inte mitt senare direktiv override:a det? Eller hur fungerar det?
Har jag skrivit någonting fel? :)

EDIT: Testade att skapa en .htaccess i htdocs, men inget verkar fungera där heller(Options -Indexes). Använder WinXP. Någonting verkar vara väldigt fel :(

Danne VMedlem sedan aug. 20068 090 inlägg
#2

Det borde väl gå med denna:

RewriteEngine On
RewriteCond %{REMOTE_ADDR}  !^127.0.0.1

eller eventuellt med tillägget:

RewriteRule  ^(.*)$             http://www.minsajt.se/foo.html/$1  [L]

som pekar på nån sida där folk hamnar om dom försöker ta sig in (som förslagsvis visar upp en rumpa eller nåt :) )

nidronMedlem sedan jan. 2005257 inlägg
#3

Tack för svaret :)

Oj. Aldrig hört talas om tidigare. Vad är REMOTE_ADDR(variabel som sätts var?)? Antar att ett condition(?) om sant skickar vidare användaren såvida inte request kommer från 127.0.0.1? Har jag fattat rätt? :)
Reagerade lite över !^ som innebär dubbla negationer för mig :q :)

colioneMedlem sedan juni 20014 421 inlägg
#4

Det känns som om du inte har slagit på AllowOverride i din config fil. Om du gör det ka du enkelt kunna styra det via htaccess.

nidronMedlem sedan jan. 2005257 inlägg
#5

Yay! Satte AllowOverride All för htdocs i .conf vilket gjorde att det i .htaccess i htdocs Options - Indexes och ErrorDocument fungerade finfint.

Men om jag lägger till

<Directory />
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>

... i .htaccess-filen får jag Internal Server Error :(
Vill gärna ha restriktionerna i .htaccess under htdocs, om det går.
Jag har ju gjort detta förr, men på en högskoleserver, aldrig på min egen dator :)

colioneMedlem sedan juni 20014 421 inlägg
#6

tabort directory direktiven i htaccessen och se om du får samma fel..rensa även bort allt annat du har. Typ mod_rewrite och liknande.

nidronMedlem sedan jan. 2005257 inlägg
#7

Får inget fel om jag tar bort <Directory.. i htaccess och lägger det sist i httpd.conf. Däremot händer ingenting, alla har åtkomst. Enda mod_rewrite är avkommenterat.

colioneMedlem sedan juni 20014 421 inlägg
#8

hur ser din httpd.conf ut nu?

colioneMedlem sedan juni 20014 421 inlägg
#9

När jag kommer och tänka på det så hade jag liknande problem när jag gjorde det i htaccessen. Det bidde så här tillslut:

Order Deny,Allow
<FilesMatch (.*)>
Deny from all
Allow from 127.0.0.1
</FilesMatch>

nidronMedlem sedan jan. 2005257 inlägg
#10

Jag får fortsätta bråka med Apache efter jul. Tack för all hjälp hittills iaf, och god jul :)

Danne VMedlem sedan aug. 20068 090 inlägg
#11

nidron skrev:

Tack för svaret :)

Oj. Aldrig hört talas om tidigare. Vad är REMOTE_ADDR(variabel som sätts var?)? Antar att ett condition(?) om sant skickar vidare användaren såvida inte request kommer från 127.0.0.1? Har jag fattat rätt? :)
Reagerade lite över !^ som innebär dubbla negationer för mig :q :)

Jo, det skickar vidare alla användare som inte har IP 127.0.0.1

Ingen aning om varför detta funkar eftersom jag inte kan ett smack om RegEx. En bekant skrev ihop det där när jag behövde en redirect för alla besökare till en sajt under renovering - utom några med vissa IP-adresser som skulle kunna kolla. Funkade kanonbra för det, och tänkte att det kanske skulle funka för ditt behov också.

red: fixat felstvaningar :)

nidronMedlem sedan jan. 2005257 inlägg
#12

Det var faktiskt lite intressant. Ska absolut undersöka det vidare efter allt julstök :)

colioneMedlem sedan juni 20014 421 inlägg
#13

circumflexen (^) är egentligen helt onödig i det uttrycket. Den visar att REMOTE_ADDR måste börja med 127.0.0.1. Fast uttrycket är felaktigt ändå iom att punkterna måste vara escapade annars matchar dem vilket tecken som helst....

RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1

Även fast detta hade funkat lika bra:
RewriteCond %{REMOTE_ADDR} !127\.0\.0\.1

127 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)