Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> DNS skrypt sprawdzania nazwy hosta
LordRobert1
post 8.03.2011, 00:18:26
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 12.12.2008

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
filka
post 8.03.2011, 15:47:05
Post #2





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.11.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
LordRobert1
post 10.03.2011, 21:27:43
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 12.12.2008

Ostrzeżenie: (0%)
-----


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.  
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2025 - 01:58