Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: DNS skrypt sprawdzania nazwy hosta
Forum PHP.pl > Forum > PHP
LordRobert1
Witajcie mecze sie z takim zagadnieniem od kilku dni i nie moge rozwiazac, z góry dziękuje za pomoc. Od kliku dni próbuję rozwiązać temat a mianowicie sprawdzania nazwy hosta. Musze sprawdzić klika warunków ale nie wiem jak wykonać wyrażenie regularne aby pasowało, a mianowicie:
1. Warunek jeśli host należy do strefy która obsługuje ICANN np. .com to
a) jeśli nie istnieje domena nadrzędna hosta, to mam wyświetlić formualrz z podawaniem adresów IP
cool.gif jeśli istnieje domena nadrzędna hosta, to:
- jeśli np. nazwa.pl jest Uprawnioną firmą pośredniczącą, która zarejestrowała domenę oraz nazwa hosta nie jest rozwiązywalna w DNS to lista adresów jest niepusta
- jeśli np. nazwa.pl nie jest Uprawnioną firmą pośredniczącą dla domeny, to nazwa hosta jest rozwiązywalna w DNS oraz lista adresów IP jest pusta,
2. Jeśli host nie należy do strefy ICANN to, nazwa hosta jest rozwiązywalna w DNS oraz lista adresów IP jest pusta

w ad1. jesli ktos np poda jakasnazawa.jakasnazwa.com - to jak wyluskac .com - tutaj strefe jakieś wyrażenie regularane
ad1a) jak sprawdzic domene nadrzedna czyli jestli host to np. balbalab.jakasnazwa.com to jak wyluskac jakasnazwa.com
Wielkie dzięki za każą pomoc.
filka
Nie do końca łapię o co Ci biega, ale może Ci się przydać takie narzędzie:
CODE
################## START NARZEDZIE nr 1.1
print '<fieldset style="border: 1px solid; padding: 6px; background: #78a2ff;
font-family: verdana; font-size: 14px; Text-align:left">

<legend style="background: #2110a4; border: 1px solid; font-size: 11pt; font-style:
italic; color:#d4f1f1;">
&nbsp; &nbsp; URL viver 1.1 &nbsp; &nbsp; </legend>';


print '<b>$_SERVER[PHP_SELF] = </b>';
if (!empty($_SERVER['PHP_SELF'])) {
print $_SERVER['PHP_SELF'] . '<br />';
} else { print '<br />'; }

print '<b>$_SERVER[REQUEST_URI] = </b>';
if (!empty($_SERVER['REQUEST_URI'])) {
print $_SERVER['REQUEST_URI'] . '<br />';
} else { print '<br />'; }

print '<b>$_SERVER[HTTP_REFERER] = </b>';
if (!empty($_SERVER['HTTP_REFERER'])) {
print $_SERVER['HTTP_REFERER'] . '<br />';
} else { print '<br />'; }

print '<b>$_SERVER[QUERY_STRING] = </b>';
if (!empty($_SERVER['QUERY_STRING'])) {
print $_SERVER['QUERY_STRING'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[REMOTE_HOST] = </b>';
if (!empty($_SERVER['REMOTE_HOST'])) {
print $_SERVER['REMOTE_HOST'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[SERVER_NAME] = </b>';
if (!empty($_SERVER['SERVER_NAME'])) {
print $_SERVER['SERVER_NAME'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[DOCUMENT_ROOT] = </b>';
if (!empty($_SERVER['DOCUMENT_ROOT'])) {
print $_SERVER['DOCUMENT_ROOT'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[SERVER_ADDR] = </b>';
if (!empty($_SERVER['SERVER_ADDR'])) {
print $_SERVER['SERVER_ADDR'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[HTTP_HOST] = </b>';
if (!empty($_SERVER['HTTP_HOST'])) {
print $_SERVER['HTTP_HOST'] . '<br />';
} else { print '<br />'; }


if (!empty($_SERVER['argv'])) {
print $_SERVER['argv'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[argc] = </b>';
if (!empty($_SERVER['argc'])) {
print $_SERVER['argc'] . '<br />';
} else { print '<br />'; }


print '<b>Php_url_scheme = </b>';
if (!empty($_SERVER['HTTP_REFERER'])) {
print parse_url($_SERVER['HTTP_REFERER'], PHP_URL_SCHEME). '<br />';
} else { print '<br />'; }


print ' <b> $_SERVER[HTTP_X_FORWARDED_HOST] = </b>';
if (!empty($_SERVER['HTTP_X_FORWARDED_HOST'])) {
print $_SERVER['HTTP_X_FORWARDED_HOST'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[HTTP_X_FORWARDED_SERVER] = </b>';
if (!empty($_SERVER['HTTP_X_FORWARDED_SERVER'])) {
print $_SERVER['HTTP_X_FORWARDED_SERVER'] . '<br />';
} else { print '<br />'; }


print ' <b> $_SERVER[HTTP_USER_AGENT] = </b>';
if (!empty($_SERVER['HTTP_USER_AGENT'])) {
print $_SERVER['HTTP_USER_AGENT'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[REMOTE_ADDR] = </b>';
if (!empty($_SERVER['REMOTE_ADDR'])) {
print $_SERVER['REMOTE_ADDR'] . '<br />';
} else { print '<br />'; }

print ' <b> $_SERVER[HTTP_X_FORWARDED_FOR] = </b>';
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
print $_SERVER['HTTP_X_FORWARDED_FOR'] . '<br />';
} else { print '<br />'; }

print '</fieldset>';

################## STOP NARZEDZIE nr 1.1
Wklej gdziekolwiek w kodzie - ja to daję zazwyczaj na końcu index.php i widzę dane na wszystkich podstronach. To tylko część kodu, ale nie chcę zaciemniać sprawy. Jakby się komuś chciało dołóżcie jeszcze różności, tak żeby było pogrupowane, np część dotycząca URL, inna sesji itp.
Może powstać wszechstronne i przydatne narzędzie. Pozdro.
LordRobert1
dziękuje za pomoc ale to nie pomogło. Googlowałem i wyszukalem cos takiego lecz nie dziala mi to pierwsze i drugie mi niedziala w tym drugim wyskakuje mi zamkniecia \b ale nie moge go znaleźć
lub nie bardzo wiem. w Trzecim jest wszystko dobrze ale chciałbym zeby tylko odpowiednie końcówki przepuszczał np com etc. Dziękuje za pomoc.
1. Nie dziala

  1. $reg = '%\b((ftp|http|https?)://[-\w]+(\.\w[-\w]*)+|(?: [a-z0-9] (?:[-a-z0-9]*[a-z0-9])? \. )+(?-i: com\b | edu\b | biz\b | gov\b| in(?:t|fo)\b | mil\b | net\b | org\b | [a-z][a-z]\b)) ( : \d+ )?(/ [^.!,?;"\'<>()[\]{}\s\x7F-\xFF]*(?:[.!,?]+ [^.!,?;"\'<>()[\]{}\s\x7F-\xFF]+)*)?%ix';
  2. $sites = array('mysite.com', 'www.mysite.com', 'http://www.mysite.com', 'www.my-site.com', 'sub.folder.2.example.com', 'http://www.mysite.com/argh/index.php');
  3.  
  4. foreach($sites as $site)
  5. {
  6.  
  7. if(preg_match($reg,$site,$matches))
  8. {
  9. echo '<br/>';
  10. echo $matches[1];
  11. echo '<br />';
  12. }
  13. }
  14.  



2. Nie działa
  1. $reg ="\b((https?|ftp)://)?([a-z0-9](?:[-a-z0-9@]*[a-z0-9])?\.)+(com\b|edu\b|biz\b|gov\b|in(?:t|fo)\b|mil\b|net\b|org\b|[a-z][a-z]\b)(:d+)?(/[-a-z0-9_:@&?=+,.!/~*'\%\$]*)*(?<![.,?!])(?!((?!(?:<a )).)*?(?:</a>))";
  2. $sites = array('mysite.com', 'www.mysite.com', 'http://www.mysite.com', 'www.my-site.com', 'sub.folder.2.example.com', 'http://www.mysite.com/argh/index.php');
  3.  
  4. foreach($sites as $site)
  5. {
  6.  
  7. if(preg_match($reg,$site,$matches))
  8. {
  9. echo '<br/>';
  10. echo $matches[1];
  11. echo '<br />';
  12. }
  13. }
  14.  




3. Działa
  1. $reg = '%^(?:http://)?(?:[^.]*\.)*([a-zA-Z0-9_-]+\.[a-zA-Z0-9]+)%m';
  2. $sites = array('mysite.com', 'www.mysite.com', 'http://www.mysite.com', 'www.my-site.com', 'sub.folder.2.example.com', 'http://www.mysite.com/argh/index.php');
  3.  
  4. foreach($sites as $site)
  5. {
  6.  
  7. if(preg_match($reg,$site,$matches))
  8. {
  9. echo '<br/>';
  10. echo $matches[1];
  11. echo '<br />';
  12. }
  13. }
  14.  
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.