webForumDet fria alternativet

Hjälp med "regular expression?"

3 svar · 420 visningar · startad av Forsberg

ForsbergMedlem sedan juni 200454 inlägg
#1

Hej,

Jag håller på och skapar en funktion där jag vill tillåta eller neka vissa hostnames och/eller IP-adresser från att komma åt att köra en kod i en if-sats.

Problemet är bara att jag inte riktigt vet hur jag ska få till det rent kodmässigt.

Om jag har en sträng som ser ut så här:

$allowed_hosts = "127.0.0.1|cmt*|192.169.*|169.*.121.*";

Då vill jag alltså att dessa ska få tillgång:

- 127.0.0.1
- cmt* (* är ett wildcard, så sålänge hosten börjar på cmt så ska den godkännas)
- 192.169.* (alla IP som börjar med 192.169 skall godkännas)
- 169.*.121.* (alla IP enligt: 169.(0-255).121.(0-255) skall godkännas)

Hur ska jag lösa detta?

Jag har börjat med att exploda variabeln ´$allowed_hosts´ så att jag fått
in varje adress/host uppsplittat av pipes till en array:

$allowed_hosts_array = explode('|', $allowed_hosts);

Tacksam för all hjälp!

voigtann1Medlem sedan juni 20019 519 inlägg
#2

^(cmd.*|127\.0\.0\.1|192\.169\.\d{1,3}\.\d{1,3}|169\.\d{1,3}\.121\.\d{1,3})$

ForsbergMedlem sedan juni 200454 inlägg
#3

Tackar!

Tråden kan låsas.

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4

Forsberg skrev:

Tackar!

Tråden kan låsas.

Här låses ingenting, men du kan själv markera voigtann1's svar som lösning genom att klicka på länken till höger ovanför hans inlägg. Då syns det i forum-vyn att problemet är löst.

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