Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Provera domena u url pomocu wildcard

[es] :: PHP :: Provera domena u url pomocu wildcard

[ Pregleda: 2024 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Lord_Nenad
Lord_Nenad
Zvornik

Član broj: 143541
Poruke: 170
*.net.



+8 Profil

icon Provera domena u url pomocu wildcard23.12.2009. u 10:43 - pre 174 meseci
PozZ

Zna li neko kako se moze proveriti koji je domen u pitanju u zadatoj url od mogucih domena koji se nalaze u bazi podataka.

Npr.
url: http://www.elitesecurity.org/p...354353535436?nesto=nesto+nesto

Podaci u bazi:

1 http://*.elitesecurity.org/*/*
2 http://*.elitesecurity.com/*
3 http://www.elitesecurity.net/*
4 http://*.google.*/*
5 http://*.domen.com/*



Ja izdvojim domen iz url, pretrazim bazu i svedem na 10tak odgovarajucih,
ali problem nastaje kod provere koji od njih u potpunosti odgovara.

Da li se o ovom slucaju treba koristiti preg_match(url, podatak_u_bazi) ili nesto drugo?
Pokusao sam sa preg_match ali stalno prijavljuje gresku da uneseni podaci nisu odgovarajuci...

Jel moze neko napisati kako se pravilno trebaju obraditi/napisati podaci za preg_match ili napisati neki drugi nacin za ovu proveru?


Hvala...
 
Odgovor na temu

vatri
Banja Luka, RS

Član broj: 68697
Poruke: 1006
*.dynamic.dsl.t-2.net.



+18 Profil

icon Re: Provera domena u url pomocu wildcard23.12.2009. u 12:39 - pre 174 meseci
A zasto cuvas u bazi tako: http://*.elitesecurity.org/*/*, zar nije lakse samo elitesecurity.org i kasnije samo provjeriti sa preg_match() ili strpos()? Jel se da to prepravit ili mora ovako kao sto je sad?
 
Odgovor na temu

batika

Član broj: 72401
Poruke: 67
*.sbb.rs.



Profil

icon Re: Provera domena u url pomocu wildcard23.12.2009. u 12:55 - pre 174 meseci
Ako cuvas u bazi ovako kako si napisao, mozes da uradis sledecu stvar:

Radis sa regularnim izrazima. E sad.

* zamenis sa .+ - mozda ces trebati da dodas ? da ne bi bio alav

Dakle regex bi izgledao ovako:

~http://.+\.elitesecurity.org/.+/.+~ - mozdra treba nesto escape-ovati napamet sam pisao i modza treba upitnik

i radis naredbu
Code:

if (preg_match(REGEX, URL) == 1)
{
    // to je taj domen
}
else
{
  // nije taj domen
}


 
Odgovor na temu

Lord_Nenad
Lord_Nenad
Zvornik

Član broj: 143541
Poruke: 170
*.net.



+8 Profil

icon Re: Provera domena u url pomocu wildcard23.12.2009. u 13:08 - pre 174 meseci
@vatri
Mora bas ovako kao sto sam napisao... Da nema toga moglo bi samo LIKE u mysql query-ju... Ali mora ovako...

@phpandjelko
E bas to sto treba da se uradi pre te IF ne znam lepo da uradim... :/
Zbog toga izbaci gresku sa preg_match... Valjda mu smetaju "/"...

A jel moze to bez napamet, da lepo napises? :) :) :) Ako nije problem... :)
 
Odgovor na temu

batika

Član broj: 72401
Poruke: 67
*.sbb.rs.



Profil

icon Re: Provera domena u url pomocu wildcard23.12.2009. u 13:35 - pre 174 meseci
Pozdrav

evo ovako

Code:



// za ovaj tvoj red iz baze pisem regex   http://*.elitesecurity.org/*

// ovo je regularni izraz
$regex = "~http://.+\.elitesecurity\.org/.+~";

// ovo je url koji proveravamo
$url = 'http://www.elitesecurity.org/p...354353535436?nesto=nesto+nesto';

// ovo je provera
if (preg_match($regex, $url) == 1)
{
    echo 'OK';    
}
else
{
    echo 'NIJE OK';    
}




iz ovog regularnog izraza zakljuci kako se pise, ali moras potraziti tutorijale na netu.
Sa njima mozes svasta da radis...

Pozdrav
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.dynamic.sbb.rs.



+13 Profil

icon Re: Provera domena u url pomocu wildcard23.12.2009. u 19:45 - pre 174 meseci
Mislim da ti je lakse da ubacis Regexp. u upit, nego da proveravas sve rezultate iz baze kroz PHP :-)

Hint:

http://dev.mysql.com/doc/refman/5.0/en/pattern-matching.html
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Provera domena u url pomocu wildcard23.12.2009. u 21:49 - pre 174 meseci
Code:

function check_url($url, $pattern) {
  return !!preg_match('`' . str_replace('\\*', '.+?', preg_quote($pattern, '`')) . '`i', $pattern);
}


if (check_url('http://www.elitesecurity.org/p...354353535436?nesto=nesto+nesto', 'http://*.elitesecurity.org/*')) {
  // OK
} else {
  // ERROR
}


nisam proverio, ali bi trebalo da radi...
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-3.sezampro.yu.



+33 Profil

icon Re: Provera domena u url pomocu wildcard23.12.2009. u 22:04 - pre 174 meseci
Ako se porede samo domeni, zar nije nekako najsigurnije da se to odradi sa parse_url(), ovako nešto:
Code:
if (parse_url('http://www.elitesecurity.org/p...354353535436?nesto=nesto+nesto', PHP_URL_HOST) == parse_url('http://www.elitesecurity.org', PHP_URL_HOST)) {
    echo 'Oba url-a pripadaju istom domenu.';
}
else {
    echo 'Url-ovi su sa razlicitih domena.';
}

Mada, parse_url() nekad zna da vrati neočekivane rezultate za nestandardne URL-ove, pa ako hoćeš sigurnu stvar, koristi neku gotovu klasu specijalizovanu za tu namenu, npr. Zend_Uri.
 
Odgovor na temu

[es] :: PHP :: Provera domena u url pomocu wildcard

[ Pregleda: 2024 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.