Ohjainten rekisteröinti tapahtuu @Register-direktiivillä, jonka avulla voit käyttää käyttäjän ohjaimia ja palvelinohjaimia sivun HTML-koodissa käyttämällä erityistä syntaksia (deklaratiivista mukautettua palvelimen ohjaussyntaksia). Näiden ohjeiden analyysin perusteella sivun jäsentäjä voi liittää tunnisteita tiettyihin tyyppeihin ja sivua luodessaan upottaa ohjausobjektit jo mukautettujen tyyppien säilöinä - sivun ohjauspuun haaroihin.
Direktiivien tulee edeltää ilmoitettujen tunnisteiden ensimmäistä käyttöä, useammin ne sijoitetaan sivun alkuun ja jos rekisteröidään useita ohjausobjekteja, modulaarisissa sivustoissa tällaisten ilmoitusten määrä voi viedä suuren määrän rivejä . Kun vaihdat säätimien sijaintia, sinun on etsittävä rivejä, jotka edellyttävät muutoksia kaikkien sivujen koodiin ja käyttäjäohjaimiin, joihin ne on rekisteröity, mikä on melko hankalaa.
Artikkelissa kuvataan menetelmä, joka yksinkertaistaa kontrollien rekisteröintiä.
Rekisteröintiohjeissa käytämme pelkkää tekstitiedostoa, johon keräämme kaikki @ Register -käskyt. Koska virtuaalisia polkuja voidaan käyttää käyttäjien ohjaimien ilmoittamiseen ja palvelinohjauksille on määritetty vain nimiavaruudet, voimme kerätä kaikki tarvitsemamme linkit tähän tiedostoon ja linkit ascx-tiedostoihin ovat oikein missä tahansa projektin kansiossa. Tältä tämä tiedosto näyttää yhdessä projekteista:
<%@ Register TagPrefix="ch" Namespace="ControlsSharp.HtmlControls" Assembly="ControlsSharp"%> <%@ Register TagPrefix="cw" Namespace="ControlsSharp.WebControls" Assembly="ControlsSharp"%> <%@ Register TagPrefix="c" Namespace="ControlsSharp.CustomControls" Assembly="ControlsSharp"%> <%@ Register TagPrefix="b" Namespace="ControlsBasic.CustomControls" Assembly="ControlsBasic"%> <%@ Register TagPrefix="cu" TagName="bottommenu" Src="~/UserControls/Menu/cu_menu_bottom.ascx" %> <%@ Register TagPrefix="cu" TagName="leftmenu" Src="~/UserControls/Menu/cu_menu_left.ascx" %> <%@ Register TagPrefix="cu" TagName="topmenu" Src="~/UserControls/Menu/cu_menu_top.ascx" %> |
Nimetään tiedosto register.inc ja sijoitetaan se verkkoprojektimme /inc-kansioon.
Tämä tiedosto sisältää kaikki tarvitsemamme linkit, lisäämme tai muutamme siihen käyttäjän tai palvelimen rekisteröinnin.
Nyt luotu tiedosto on jotenkin sisällytettävä sivun koodiin. Teemme tämän SSI:llä (palvelinpuoli sisältää) #include -direktiivin. Tämä direktiivi mahdollistaa staattisten ja dynaamisten tiedostojen sisällyttämisen sivukoodiin, prosessoimalla ne IIS-kartoituksen perusteella, ts. asp- tai aspx-tiedoston määrittäminen lähteeksi saa tiedoston käsittelemään asianmukaista prosessia ja kopioi tämän käsittelyn tulokset tulossivulle. ASP:ssä #include-direktiiviä käytettiin erittäin laajasti ja se salli sivuston modularisoinnin. ASP.NET:n myötä tämä on helpompaa tehdä muilla tavoilla, esimerkiksi käyttämällä käyttäjän ohjaimia. ASP.NETin tulevat versiot toteuttavat modulaarisuuden käyttämällä sivupohjaa. Yleisesti ottaen #include-direktiivi menetti merkityksensä, ja se säilytettiin pääasiassa taaksepäin yhteensopivuuden vuoksi ja ASP-projektien .Netiin siirtymisen yksinkertaistamiseksi.
Koska meillä on yksinkertainen tekstitiedosto, käsittelyä ei tehdä, ja ennen kuin dynaaminen sisältö suoritetaan, koko tiedoston sisältö kopioidaan sivun koodiin. Nuo. Esimerkiksi register.inc-tiedostomme lisääminen sivun yläosaan on melkein sama asia kuin kaikkien @Register-käskyjen kirjoittaminen sinne.
Jotta emme riippuisi tiedoston fyysisestä sijainnista, käytämme jälleen virtuaalipolun syntaksia ja lisäämme seuraavan rivin aspx-tiedoston koodiin:
Varmista, että kaikki toimii, jos ei, korjaa väärät polut.
Vielä on suoritettava yksi toimenpide. Jos yrität nyt saada /inc/register.inc-tiedoston selaimesi linkistä, voit tehdä sen helposti. IIS antaa sen käsiisi sekä hyökkääjän käsiin täysin ilmaiseksi, vaikka se sisältääkin sivustosi fyysisen rakenteen polut.
Tämän estämiseksi käytämme synkronisen HttpForbiddenHandler-käsittelijän ominaisuuksia, joiden avulla voimme suojata tietyn tyyppisiä tiedostoja julkaisulta käyttäjän pyynnöstä. Tämä lähestymistapa on kätevä ja sitä käytetään usein esimerkiksi projektissa käytettävien MS Access -tietokantatiedostojen suojaamiseen. Jotta tiedostot, joiden tiedostotunniste on *.inc, voidaan suojata tällä käsittelijällä, sinun on kerrottava IIS:lle, että ASP.NET-prosessi käsittelee nämä tiedostot, eli määritettävä IIS yhdistämään tämän tyyppiset tiedostot.
Yksityiskohtainen kuvaus IIS:n määritysprosessista on kohdassa MITEN: Käytä ASP.NETiä tiedostotyyppien suojaamiseen (http://support.microsoft.com/kb/815152/EN-US/). Meidän on luotava kartoitus vain *.inc-tiedostoille. Kun olet suorittanut siellä kuvatut vaiheet, ASP.NET-prosessi käsittelee kaikki tällä tunnisteella varustettuja tiedostoja koskevat pyynnöt, ja sinun on muokattava web.config-tiedostoa seuraavasti:
|
Siinä kaikki, kun nyt yrittää saada /inc/register.inc-tiedoston suoran linkin kautta, käyttäjä saa virheilmoituksen B.
Jotta esimerkiksi aspnet_isapi.dll-tiedostoa ei rekisteröidä, palveluntarjoajasi ei halua tehdä tätä, voit käyttää SSI-kykyä määrittää minkä tahansa tyyppisiä tiedostoja ja huijata käyttämällä jonkin IIS:ssä oletusarvoisesti kartoitetun tyypin laajennusta. @Register-käskyjä sisältävälle tiedostolle. *.cs- tai *.vb-laajennukset ovat käteviä tähän. Nämä tiedostot sisältävät lähdekoodia, eikä niitä yleensä kopioida palvelimelle. Jos teit yhtäkkiä virheen ja kopioit ne, et voi saada niitä selaimen pyynnöstä – kun yrität tehdä tämän, käyttäjä saa virheilmoituksen B. Tämä tapahtuu, koska tämän tyyppisille tiedostoille kartoitus IIS:ssä on oletusarvoisesti määritetty ja vastaava laajennus on jo rekisteröity osioon
Johtopäätös
Kuvatun menetelmän avulla voit rekisteröidä ohjausobjektit yhteen paikkaan koko projektille. Tämän tiedoston myöhempi muokkaaminen vaatii vähemmän vaivaa kuin jos sinun olisi tehtävä se tavalliseen tapaan. Kokeile lisäämiesi tiedostojen sisällä SSI:n käyttöä #include - tämän avulla voit järjestää eräänlaisen hierarkian ja perinnön, mikä voi olla kätevää suurissa projekteissa
Googlen hakukone (www.google.com) tarjoaa monia hakuvaihtoehtoja. Kaikki nämä ominaisuudet ovat korvaamaton hakutyökalu ensikertalaiselle Internetin käyttäjälle ja samalla vieläkin tehokkaampi hyökkäys- ja tuhoaseen pahoja aikomuksia omaavien ihmisten käsissä, mukaan lukien hakkerit, mutta myös muut kuin tietokonerikolliset. ja jopa terroristeja.
(9475 katselukertaa viikossa)
Denis Batrankov
denisNOSPAMixi.ru
Huomio:Tämä artikkeli ei ole toimintaopas. Tämä artikkeli on kirjoitettu sinulle, WEB-palvelinten ylläpitäjille, jotta menetät väärän tunteen olevasi turvassa ja ymmärrät vihdoin tämän tiedonhankintamenetelmän salakavaluuden ja aloitat sivustosi suojaamisen.
Johdanto
Esimerkiksi, löysin 1670 sivua 0,14 sekunnissa!
2. Syötetään toinen rivi, esimerkiksi:
inurl:"auth_user_file.txt"hieman vähemmän, mutta tämä riittää jo ilmaiseen lataukseen ja salasanojen arvaamiseen (käyttämällä samaa John The Ripperiä). Annan alla lisää esimerkkejä.
Joten sinun on ymmärrettävä, että Google-hakukone on käynyt useimmissa Internet-sivustoissa ja tallentanut niiden sisältämät tiedot välimuistiin. Näiden välimuistissa olevien tietojen avulla voit saada tietoa sivustosta ja sen sisällöstä ilman suoraa yhteyttä sivustoon, kun vain tutkit Googlen sisäisesti tallentamia tietoja. Lisäksi, jos sivuston tiedot eivät ole enää saatavilla, välimuistissa olevat tiedot voidaan silti säilyttää. Tämä menetelmä vaatii vain joidenkin Google-avainsanojen tuntemisen. Tätä tekniikkaa kutsutaan nimellä Google Hacking.
Ensimmäistä kertaa tiedot Google Hackingista ilmestyivät Bugtruck-postituslistalle 3 vuotta sitten. Vuonna 2001 ranskalainen opiskelija otti tämän aiheen esille. Tässä on linkki tähän kirjeeseen http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html . Siinä annetaan ensimmäiset esimerkit tällaisista pyynnöistä:
1) Hakemisto /admin
2) /salasana-hakemisto
3) Hakemisto /mail
4) Hakemisto / +banques +filetype:xls (Ranskassa...)
5) Indeksi / +passwd
6) Index of/password.txt
Tämä aihe aiheutti paljon melua Internetin englanninkielisessä osassa aivan äskettäin: Johnny Longin 7. toukokuuta 2004 julkaistun artikkelin jälkeen. Täydellisen tutkimuksen Google-hakkerointia varten suosittelen menemään tämän kirjoittajan sivustolle http://johnny.ihackstuff.com. Tässä artikkelissa haluan vain tuoda sinut ajan tasalle.
Kuka voi käyttää sitä:
- Toimittajat, vakoojat ja kaikki ne ihmiset, jotka pitävät nenäänsä muiden ihmisten asioissa, voivat käyttää tätä etsiessään kompromisseja.
- Hakkerit etsivät sopivia kohteita hakkerointiin.
Miten Google toimii.
Jatkaksesi keskustelua, haluan muistuttaa sinua joistakin Google-kyselyissä käytetyistä avainsanoista.
Hae käyttämällä +-merkkiä
Google jättää haun ulkopuolelle sen mielestä merkityksettömät sanat. Esimerkiksi englanninkieliset kyselysanat, prepositiot ja artikkelit: esimerkiksi are, of, where. Venäjän kielellä Google näyttää pitävän kaikkia sanoja tärkeinä. Jos sana jätetään haun ulkopuolelle, Google kirjoittaa siitä. Jotta Google voi alkaa etsiä näitä sanoja sisältäviä sivuja, sinun on lisättävä niiden eteen +-merkki ilman välilyöntiä sanan eteen. Esimerkiksi:
ässä + pohjasta
Hae merkillä -
Jos Google löytää suuren määrän sivuja, joilta haluat sulkea pois tiettyjä aiheita sisältäviä sivuja, voit pakottaa Googlen etsimään vain sivuja, jotka eivät sisällä tiettyjä sanoja. Tätä varten sinun on osoitettava nämä sanat asettamalla merkki jokaisen eteen - ilman välilyöntiä ennen sanaa. Esimerkiksi:
kalastus - vodka
Hae ~-merkillä
Haluat ehkä etsiä paitsi määritettyä sanaa myös sen synonyymejä. Tee tämä kirjoittamalla sanan eteen symboli ~.
Tarkan lauseen löytäminen lainausmerkeillä
Google etsii jokaiselta sivulta kaikkia kyselymerkkijonoon kirjoittamiesi sanojen esiintymiä, eikä se välitä sanojen suhteellisesta sijainnista, tärkeintä on, että kaikki määritetyt sanat ovat sivulla samanaikaisesti ( tämä on oletustoiminto). Löytääksesi tarkan lauseen, sinun on laitettava se lainausmerkkeihin. Esimerkiksi:
"kirjatuki"
Jotta sinulla olisi vähintään yksi määritetyistä sanoista, sinun on määritettävä looginen toiminto nimenomaisesti: TAI. Esimerkiksi:
kirjan turvallisuus TAI suojaus
Lisäksi voit käyttää *-merkkiä hakumerkkijonossa merkitsemään mitä tahansa sanaa ja. edustamaan mitä tahansa hahmoa.
Sanojen etsiminen lisäoperaattoreiden avulla
On hakuoperaattoreita, jotka on määritetty hakumerkkijonossa muodossa:
operaattori:hakutermi
Kaksoispisteen vieressä olevia välilyöntejä ei tarvita. Jos lisäät välilyönnin kaksoispisteen jälkeen, näet virheilmoituksen, ja ennen sitä Google käyttää niitä tavallisena hakumerkkijonona.
On olemassa ryhmiä muita hakuoperaattoreita: kielet - ilmoittaa millä kielellä haluat nähdä tuloksen, päivämäärä - rajoittaa tuloksia viimeisten kolmen, kuuden tai 12 kuukauden ajalta, esiintymät - ilmoittaa mistä asiakirjasta sinun on etsittävä merkkijono: kaikkialla, otsikossa, URL-osoitteessa, verkkotunnukset - hae määritettyä sivustoa tai päinvastoin sulje se pois hausta, turvallinen haku - estä tietyn tyyppistä tietoa sisältävät sivustot ja poista ne hakutulossivuilta.
Jotkut operaattorit eivät kuitenkaan tarvitse lisäparametria, esimerkiksi kysely " välimuisti: www.google.com" voidaan kutsua täydelliseksi hakumerkkijonoksi, ja jotkut avainsanat päinvastoin vaativat hakusanan, esim. site:www.google.com ohje". Tarkastellaan aiheemme valossa seuraavia operaattoreita:
Operaattori |
Kuvaus |
Vaatiiko lisäparametrin? |
etsi vain hakutermissä määritettyä sivustoa |
||
hae vain asiakirjoista, joiden tyyppi on hakutermi |
||
etsiä sivuja, joiden otsikossa on hakutermi |
||
etsiä sivuja, jotka sisältävät kaikki otsikossa olevat sanat hakutermi |
||
löytää sivuja, jotka sisältävät sanan hakutermi osoitteestaan |
||
etsiä sivuja, jotka sisältävät kaikki sanat search_term osoitteestaan |
Operaattori sivusto: rajoittaa haun vain määritetylle sivustolle, ja voit määrittää verkkotunnuksen lisäksi myös IP-osoitteen. Kirjoita esimerkiksi:
Operaattori tiedostotyyppi: rajoittaa haun tietyntyyppisiin tiedostoihin. Esimerkiksi:
Tämän artikkelin päivämääränä Google voi etsiä 13 eri tiedostomuodosta:
- Adobe Portable Document Format (pdf)
- Adobe PostScript (ps)
- Lotus 1-2-3 (vk1, vk2, vk3, vk4, vk5, vk, vk, vk)
- Lotus Word Pro (lwp)
- MacWrite (mw)
- Microsoft Excel (xls)
- Microsoft PowerPoint (ppt)
- Microsoft Word (doc)
- Microsoft Works (wks, wps, wdb)
- Microsoft Write (kirjoitus)
- Rich Text -muoto (rtf)
- Shockwave Flash (swf)
- Teksti (ans, txt)
Operaattori linkki: näyttää kaikki sivut, jotka osoittavat määritetylle sivulle.
On aina mielenkiintoista nähdä kuinka monet paikat Internetissä tietävät sinusta. Yritämme:
Operaattori kätkö: näyttää Googlen välimuistissa olevan sivuston version sellaisena kuin se näytti, kun Google viimeksi vieraili sivulla. Otamme kaikki usein muuttuvat sivustot ja katsomme:
Operaattori otsikko: etsii sivun otsikosta määritettyä sanaa. Operaattori allintitle: on laajennus - se etsii kaikkia määritettyjä muutamia sanoja sivun otsikosta. Vertailla:
intitle:lento marsiin
intitle:flight intitle:on intitle:mars
allintitle:lento marsiin
Operaattori inurl: saa Googlen näyttämään kaikki sivut, jotka sisältävät määritetyn merkkijonon URL-osoitteessa. allinurl: hakee kaikkia URL-osoitteen sanoja. Esimerkiksi:
allinurl:acid_stat_alerts.php
Tämä komento on erityisen hyödyllinen niille, joilla ei ole SNORTia - ainakin he näkevät kuinka se toimii todellisessa järjestelmässä.
Googlen hakkerointimenetelmät
Joten saimme selville, että käyttämällä yllä olevien operaattoreiden ja avainsanojen yhdistelmää kuka tahansa voi kerätä tarvittavat tiedot ja etsiä haavoittuvuuksia. Näitä tekniikoita kutsutaan usein Google-hakkerointiksi.
sivuston kartta
Voit käyttää site:-lauseketta nähdäksesi kaikki linkit, jotka Google on löytänyt sivustolta. Yleensä skripteillä dynaamisesti luomia sivuja ei indeksoida parametrien avulla, joten jotkut sivustot käyttävät ISAPI-suodattimia, jotta linkit eivät ole muodossa /article.asp?num=10&dst=5, mutta vinoilla /article/abc/num/10/dst/5. Tämä tehdään sen varmistamiseksi, että hakukoneet indeksoivat sivuston yleensä.
Kokeillaan:
sivusto: www.whitehouse.gov whitehouse
Google uskoo, että jokaisella sivuston sivulla on sana whitehouse. Tätä käytämme saadaksemme kaikki sivut.
Siitä on myös yksinkertaistettu versio:
site:whitehouse.gov
Ja parasta on, että whitehouse.gov:n toverit eivät edes tienneet, että tarkastelimme heidän sivustonsa rakennetta ja jopa tarkastelimme välimuistissa olevia sivuja, jotka Google latasi itselleen. Tämän avulla voidaan tutkia sivustojen rakennetta ja katsella sisältöä toistaiseksi huomaamatta.
Tiedostojen luettelointi hakemistoissa
WEB-palvelimet voivat näyttää palvelinhakemistoluetteloita tavallisten HTML-sivujen sijaan. Tämä tehdään yleensä pakottaakseen käyttäjät valitsemaan ja lataamaan tiettyjä tiedostoja. Monissa tapauksissa järjestelmänvalvojilla ei kuitenkaan ole aikomusta näyttää hakemiston sisältöä. Tämä johtuu palvelimen virheellisestä määrityksestä tai pääsivun puuttumisesta hakemistosta. Tämän seurauksena hakkereilla on mahdollisuus löytää jotain mielenkiintoista hakemistosta ja käyttää sitä omiin tarkoituksiinsa. Kaikkien tällaisten sivujen löytämiseksi riittää, kun huomaat, että niiden kaikkien otsikossa on sanat: index of. Mutta koska sanahakemisto ei sisällä vain tällaisia sivuja, meidän on tarkennettava kyselyä ja otettava huomioon itse sivulla olevat avainsanat, joten kyselyt kuten:
intitle:index.of päähakemistosta
intitle:index.of name size
Koska useimmat hakemistolistaukset ovat tahallisia, sinun voi olla vaikea löytää väärässä paikassa olevia luetteloita ensimmäisellä kerralla. Mutta ainakin voit käyttää luetteloita määrittääksesi WEB-palvelimen version alla kuvatulla tavalla.
Haetaan WEB-palvelinversiota.
WEB-palvelimen version tunteminen on aina hyödyllistä ennen hakkerihyökkäyksen aloittamista. Jälleen Googlen ansiosta on mahdollista saada nämä tiedot muodostamatta yhteyttä palvelimeen. Jos tarkastelet tarkkaan hakemistoluetteloa, voit nähdä, että WEB-palvelimen nimi ja sen versio näkyvät siellä.
Apache1.3.29 - ProXad-palvelin osoitteessa trf296.free.fr portti 80
Kokenut järjestelmänvalvoja voi muuttaa näitä tietoja, mutta yleensä se on totta. Siksi näiden tietojen saamiseksi riittää, että lähetät pyynnön:
intitle:index.of server.at
Tarkennamme pyyntöä saadaksemme tietoja tietystä palvelimesta:
intitle:index.of server.at site:ibm.com
Tai päinvastoin, etsimme palvelimia, jotka toimivat tietyllä palvelimen versiolla:
intitle:index.of Apache/2.0.40 Server osoitteessa
Hakkeri voi käyttää tätä tekniikkaa löytääkseen uhrin. Jos hänellä on esimerkiksi hyväksikäyttö WEB-palvelimen tietylle versiolle, hän voi löytää sen ja kokeilla olemassa olevaa hyväksikäyttöä.
Voit myös saada palvelinversion katsomalla sivuja, jotka on asennettu oletusarvoisesti, kun asennat WEB-palvelimen tuoretta versiota. Jos haluat esimerkiksi nähdä Apache 1.2.6 -testisivun, kirjoita
intitle:Test.Page.for.Apache it.worked!
Lisäksi jotkin käyttöjärjestelmät asentavat ja käynnistävät WEB-palvelimen välittömästi asennuksen aikana. Jotkut käyttäjät eivät kuitenkaan ole edes tietoisia tästä. Jos näet, että joku ei ole poistanut oletussivua, on luonnollisesti loogista olettaa, että tietokoneeseen ei ole tehty minkäänlaisia määrityksiä ja että se on todennäköisesti alttiina hyökkäyksille.
Yritä etsiä IIS 5.0 -sivuja
allintitle:Tervetuloa Windows 2000 Internet Services -palveluun
IIS:n tapauksessa voit määrittää palvelimen version lisäksi myös Windowsin ja Service Packin version.
Toinen tapa määrittää WEB-palvelimen versio on etsiä käsikirjoja (ohjesivuja) ja esimerkkejä, jotka voidaan asentaa sivustolle oletuksena. Hakkerit ovat löytäneet useita tapoja käyttää näitä komponentteja etuoikeutetun pääsyn saamiseksi sivustolle. Siksi sinun on poistettava nämä komponentit tuotantopaikalla. Puhumattakaan siitä, että näiden komponenttien avulla saat tietoa palvelimen tyypistä ja sen versiosta. Etsitään esimerkiksi apachen käsikirja:
inurl:manuaaliset apache-ohjemoduulit
Googlen käyttäminen CGI-skannerina.
CGI-skanneri tai WEB-skanneri on apuohjelma haavoittuvien komentosarjojen ja ohjelmien etsimiseen uhrin palvelimelta. Näiden apuohjelmien on tiedettävä, mitä etsiä, koska heillä on koko luettelo haavoittuvista tiedostoista, esimerkiksi:
/cgi-bin/cgiemail/uargg.txt
/random_banner/index.cgi
/random_banner/index.cgi
/cgi-bin/mailview.cgi
/cgi-bin/maillist.cgi
/cgi-bin/userreg.cgi
/iissamples/ISSamples/SQLQHit.asp
/SiteServer/admin/findvserver.asp
/scripts/cphost.dll
/cgi-bin/finger.cgi
Löydämme kaikki nämä tiedostot Googlen avulla, lisäksi käyttämällä hakupalkissa sanoja index of tai inurl tiedostonimen kanssa: voimme löytää sivustoja, joissa on haavoittuvia komentosarjoja, esimerkiksi:
allinurl:/random_banner/index.cgi
Lisätiedon avulla hakkeri voi käyttää hyväkseen komentosarjan haavoittuvuutta ja pakottaa komentosarjan palvelemaan mitä tahansa palvelimelle tallennettua tiedostoa. Esimerkiksi salasanatiedosto.
Kuinka suojautua Googlen kautta hakkeroitumiselta.
1. Älä lataa tärkeitä tietoja WEB-palvelimelle.
Vaikka lähetit tiedot väliaikaisesti, voit unohtaa ne tai joku ehtii löytää ja ottaa nämä tiedot ennen kuin poistat ne. Älä tee sitä. On monia muita tapoja siirtää tietoja, jotka suojaavat niitä varkauksilta.
2. Tarkista sivustosi.
Käytä kuvattuja menetelmiä sivustosi tutkimiseen. Tarkista sivustoltasi säännöllisesti uusia menetelmiä, jotka näkyvät sivustossa http://johnny.ihackstuff.com. Muista, että jos haluat automatisoida toimintasi, sinun on hankittava erityinen lupa Googlelta. Jos luet huolellisesti http://www.google.com/terms_of_service.html, näet lauseen: Et saa lähettää minkäänlaisia automaattisia kyselyitä Googlen järjestelmään ilman Googlen etukäteen antamaa nimenomaista lupaa.
3. Sinun ei välttämättä tarvitse Googlea indeksoida sivustoasi tai sen osaa.
Google sallii sinun poistaa linkin sivustoosi tai sen osan tietokannastaan sekä sivujen poistamisen välimuistista. Lisäksi voit kieltää kuvien haun sivustostasi, kieltää lyhyiden sivujen osien näyttämisen hakutuloksissa Kaikki mahdollisuudet sivuston poistamiseen on kuvattu sivulla http://www.google.com/remove.html. Voit tehdä tämän vahvistamalla, että olet todella tämän sivuston omistaja, tai lisäämällä tunnisteita sivulle tai
4. Käytä robots.txt-tiedostoa
Tiedetään, että hakukoneet tutkivat sivuston juuressa olevaa robots.txt-tiedostoa eivätkä indeksoi niitä osia, jotka on merkitty sanalla Estä. Tämän avulla voit estää osan sivustosta indeksoinnin. Voit esimerkiksi välttää koko sivuston indeksoinnin luomalla robots.txt-tiedoston, joka sisältää kaksi riviä:
Käyttäjä agentti: *
kieltää: /
Mitä muuta tapahtuu
Jotta elämä ei näyttäisi sinulle hunajalta, sanon lopuksi, että on sivustoja, jotka seuraavat niitä ihmisiä, jotka yllä olevien menetelmien avulla etsivät reikiä komentosarjoista ja WEB-palvelimista. Esimerkki tällaisesta sivusta on
Sovellus.
Hieman makeaa. Kokeile itse jotain seuraavista:
1. #mysql dump filetype:sql - etsi mySQL-tietokantavedoksia
2. Isännän haavoittuvuuden yhteenvetoraportti – näyttää, mitä haavoittuvuuksia muut ihmiset ovat löytäneet
3. phpMyAdmin käynnissä osoitteessa inurl:main.php - tämä pakottaa sulkemaan ohjauksen phpmyadmin-paneelin kautta
4. Ei luottamukselliseen jakeluun
5. Pyydä lisätietoja Ohjauspuun palvelinmuuttujat
6. Juokse lapsitilassa
7. Tämän raportin on luonut WebLog
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs - ehkä joku tarvitsee palomuurin asetustiedostoja? :)
10. intitle:indeksi.talous.xls - hmm....
11. intitle: dbconvert.exe-keskustelujen hakemisto - icq-keskustelulokit
12. intext:Tobias Oetiker liikenneanalyysi
13. intitle: Webalizerin luoman käyttötilastot
14. intitle: edistyneiden verkkotilastojen tilastot
15. intitle:index.of ws_ftp.ini - ws ftp config
16. inurl:ipsec.secrets sisältää jaetut salaisuudet - salainen avain - hyvä löytö
17. inurl:main.php Tervetuloa phpMyAdminiin
18. inurl:server-info Apache-palvelimen tiedot
19. site:edu admin arvosanat
20. ORA-00921: SQL-komennon odottamaton loppu - hae polut
21. intitle:index.of trillian.ini
22. intitle: Index of pwd.db
23. intitle:index.of people.lst
24. intitle:index.of master.passwd
25.inurl:passlist.txt
26. intitle: .mysql_history-hakemisto
27. intitle:index of intext:globals.inc
28. intitle:index.of administrators.pwd
29. intitle: Index.of etc shadow
30. intitle:index.of secring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini
Koulutuskeskus "Informzashchita" http://www.itsecurity.ru - johtava tietoturvakoulutuksen erikoiskeskus (Moskovan koulutuskomitean lisenssi nro 015470, valtion akkreditointi nro 004251). Ainoa valtuutettu Internet Security Systemsin ja Clearswiftin koulutuskeskus Venäjällä ja IVY-maissa. Microsoftin valtuuttama koulutuskeskus (turvallisuuden erikoisala). Koulutusohjelmat koordinoidaan Venäjän valtion teknisen komission FSB:n (FAPSI) kanssa. Koulutustodistukset ja valtion asiakirjat jatkokoulutuksesta.
SoftKey on ainutlaatuinen palvelu ostajille, kehittäjille, jälleenmyyjille ja tytäryhtiökumppaneille. Lisäksi tämä on yksi parhaista online-ohjelmistokaupoista Venäjällä, Ukrainassa, Kazakstanissa, joka tarjoaa asiakkaille laajan valikoiman, monia maksutapoja, nopean (usein välittömän) tilauksen käsittelyn, tilauksen toteutusprosessin seurannan henkilökohtaisessa osiossa, erilaisia alennuksia. kaupasta ja valmistajilta ON.
Jokaisen ASP.NET-kehittäjän on tunnettava sivudirektiivit. Jos olet aloittelija ja haluat oppia sivudirektiiveistä, voit lukea tämän artikkelin.
Ensimmäinen kysymys koskee siis sivudirektiivejä.
Mikä on sivudirektiivi?
Pohjimmiltaan sivudirektiivit ovat komentoja. Kääntäjä käyttää näitä komentoja sivua käännettäessä.
Ohjeiden käyttäminen ASP.NET-sivulla
Ei ole vaikeaa lisätä direktiiviä ASP.NET-sivulle. Ohjeiden lisääminen ASP.NET-sivulle on helppoa. Voit kirjoittaa käskyjä seuraavassa muodossa:
<%@%>
Katso ohjemuoto, se alkaa "<%@" and ends with "%>". Paras tapa on laittaa ohje sivusi yläosaan. Mutta voit laittaa käskyn mihin tahansa sivulla. Vielä yksi asia, voit laittaa useamman kuin yhden määritteen yhteen käskyyn.
Tässä on täydellinen luettelo direktiiveistä:
- @Sivu
- @Hallita
- @Ohjaus
- @Tuonti
- @Toteutus
- @Rekisteröidy
- @Assembly
- @MasterType
- @Output-välimuisti
- @PreviousPageType
- @Viite
Keskustellaan jokaisesta direktiivistä.
Kun haluat määrittää attribuutit ASP.NET-sivulle, sinun on käytettävä @Page-direktiiviä. Kuten tiedät, ASP.NET-sivu on erittäin tärkeä osa ASP.NET:iä, joten tätä ohjetta käytetään yleisesti ASP.NETissä.
<%@Page Language="C#" AutoEventWIreup="false" CodeFile="Default.aspx.cs" Inherits="_Default"%>
Nyt sinulla on tietoa @Page-direktiiveistä. @Master-direktiivi on melko samanlainen kuin @Page-direktiivi. Ainoa ero on, että @master-direktiivi on tarkoitettu pääsivuille. Huomaa, että @Master-direktiiviä käytettäessä määrität mallisivun ominaisuuden. Silloin mikä tahansa sisältösivu voi periä kaikki pääsivulla määritellyt ominaisuudet, mutta on joitain ominaisuuksia, jotka ovat käytettävissä vain pääsivulla.
<%@Master Language="C#" AutoEventWIreup="false" CodeFile="MasterPage1.master.cs" Inherits="MasterPage"%>
@Ohjaus
@Control rakentaa ASP.NET-käyttäjäohjaimet. Kun käytät direktiiviä, määrität ominaisuudet, jotka käyttäjäohjaimet perivät ja nämä arvot määritetään käyttäjäohjaimille
<%@Control Language="C#" Explicit="True" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
Kuten tiedät, sinun on määritettävä nimiavaruudet .cs-luokassa ennen C#- tai VB-luokan käyttöä. Joten @Import-direktiivi tuo nimiavaruuksia. Tämä direktiivi tukee vain yhtä attribuuttia "nimiavaruus", ja tämä attribuutti ottaa merkkijonon arvon, joka määrittää tuotavan nimitilan. Yksi asia, joka sinun on huomattava, on, että @Import-direktiivi ei voi sisältää useampaa kuin yhtä attribuutti/arvo-paria. Mutta voit käyttää useita rivejä.
<%@Import Namespace="System.Data"%>
@Toteutus
@Implements-direktiivi saa ASP.NET-sivut toteuttamaan .Net-kehysrajapintoja. Tämä direktiivi tukee vain yhtä attribuuttirajapintaa.
<%@Implements Interface="System.Web.UI.IValidator"%>
@Rekisteröidy
Kun luot käyttäjäohjaimen ja vedät sen sivullesi, näet @Register-ohjeen. Tämä ohje rekisteröi käyttäjähallintasi sivulle, jotta sivu pääsee käsiksi hallintaan.
<%@ Register TagPrefix="MayTag Namespace="MyName.MyNameSpace" Assembly="MyAssembly"%>
@Assembly
@Assembly-direktiivi liittää kokoonpanot sivulle tai ASP.NET-käyttäjäohjaukseen, jolloin kaikki kokoonpanoluokat ja liitännät ovat luokan käytettävissä. Tämä direktiivi tukee kahta attribuuttia Name ja src. Attribuutti Name määrittää kokoonpanon nimen ja src-attribuutti määrittää kokoonpanon lähteen.
<%@Assembly Name="MyAssembly"%>
<%@Assembly src="MYAssembly.cs">
@MasterType
@MasterType-direktiivi yhdistää luokan nimen ASP.NET-sivulle saadakseen vahvasti kirjoitetut viittaukset tai jäsenet määritetylle pääsivulle. Tämä direktiivi tukee kahta attribuuttia Typename ja virtualpath. Tyypinnimi määrittää johdetun luokan nimen, josta saadaan vahvasti kirjoitetut tai viitejäsenet, ja virtualpath määrittää sen sivun sijainnin, josta ne haetaan.
<%@MasterType VirtualPath="/MasterPage1.master"%>
@tulostusvälimuisti
Se ohjaa ASP.NET-sivun tulosteiden välimuistikäytäntöjä.
<%@ OutputCache Duration ="180" VaryByParam="None"%>
@Edellinen sivutyyppi
Tämä ohje määrittää sivun, jolta kaikki sivujen väliset viestit ovat peräisin.
@Viite
Tämä ohje ilmoittaa, että aktiivisen sivun tai ohjausobjektin mukana tulee noudattaa toista sivua tai käyttäjän ohjausta. Tämä direktiivi tukee yksittäistä attribuuttia virtualpath. Se määrittää sen sivun tai käyttäjän ohjauksen sijainnin, josta aktiiviseen sivuun viitataan.
<%@Reference VirtualPayh="~/MyControl.ascx"%>
Viimeiset sanat
Toivottavasti saat täältä tietoa. Kommentoi, kuinka pidät tästä artikkelista. Kommenttisi ovat minulle erittäin arvokkaita, koska vain sinä kerrot minulle, missä olen menossa pieleen ja mitä parannuksia minun on tehtävä voidakseni kirjoittaa paremman artikkelin. Kommentoi ja anna palautetta.
Mikä on vieraskirja?
Tietenkin tässä puhumme tyypillisimmistä vieraskirjasta. Ensinnäkin tämä on järjestelmä, joka tarjoaa käyttäjälle mahdollisuuden kirjoittaa tekstiä, valita tietyn sivuston arvion ja myös määrittää omat tietonsa (nimi, sähköpostiosoite, http jne.). Se on myös järjestelmä eri käyttäjien syöttämien tietojen esittämiseen, jossa on mahdollisuus navigoida, lähettää sähköposteja viestien tekijöille. Myös variaatiot ovat mahdollisia eri asetuksilla ja normatiivisen sanaston ohjauksella.
Mitä me tarvitsemme
Tietenkin oletetaan, että lukija tuntee ASP- ja SQL-ohjelmoinnin perusteet (tämän artikkelin ensimmäisten osien tuntemus riittää tähän). Lisäksi tarvitsemme Microsoft SQL Server 7.0 tai 2000, jonkin verran HTML- tai tekstieditoria (suosittelen Macromedia Dreamweaver UltraDev 4.0:aa) ja hieman kärsivällisyyttä.
Tietokannan luominen ja valmistelu
Käyttäjien syöttämien tietojen tallennuksen järjestämiseen tarvitset yhden taulukon, johon voit luoda kenttiä käyttäjän nimen, sähköpostiosoitteen, asuinmaan, sivuston osoitteen, IP-osoitteen, sivuston käyttäjäarvion arvon tallentamista varten viiden pisteen asteikolla, jne.:
Jotta järjestelmä voidaan helposti integroida olemassa oleviin sivustoihin, on suositeltavaa suunnitella toinen taulukko värien ja muiden asetusten tallentamista varten. Tämän avulla voit muuttaa määritettyjä asetuksia tulevaisuudessa muuttamatta vastaavia parametreja vieraskirjasovellusmoduulien lähdeteksteissä.
- Suorita Tietolähteiden ODBC Configurator - Käynnistä-> Asetukset-> Ohjauspaneeli-> Hallintatyökalut-> Tietolähteet ODBC.
- Siirry System DSN -välilehteen ja luo uusi tietolähde napsauttamalla Lisää…
- Valitse näyttöön tulevasta ohjainluettelosta tietokantaohjain - Microsoft SQL Server ja napsauta Seuraava.
- Määritä Tietolähteen nimi -riville tietokantasi nimi (kuvatussa esimerkissä Gustbook on nimi, jolla siihen viitataan jatkossa).
- Määritä Palvelin-rivillä palvelin, johon yhteys muodostetaan, ja napsauta Seuraava.
- Valitse todennustila SQL Serverillä… määritä käyttäjänimi ja salasana SQL-palvelimeen yhdistämistä varten; määritä palvelimen tiedonsiirtoprotokolla (Client Configuration - TCP/IP-painike) ja napsauta Seuraava kahdesti ja napsauta sitten Valmis.
- Näet tilastot suoritetuista toimista ja voit tarkistaa tietolähteen Testaa tietolähde -painikkeella.
- Tämän seurauksena näet rivin järjestelmäsi tietolähteiden luettelossa.
Nyt kun tietokanta on valmis, voit jatkaa suoraan vieraskirjan luomiseen.
Järjestelmän integrointi valmiiksi verkkosivustoksi
On selvää, että vieraskirjassa itsessään ei ole järkeä. Arvioi itse: kuka tarvitsee sivuston, joka on suunniteltu pelkästään keräämään lukijoiden mielipiteitä. Loppujen lopuksi, jotta voit kerätä mielipiteitä jostakin, sinun on ensin esitettävä tämä jokin heidän arvioitavaksi. Siksi on tarpeen kiinnittää erityistä huomiota kysymyksiin, jotka liittyvät järjestelmän upottamisen yksinkertaistamiseen valmiisiin sivustoihin.
Erityisesti järjestelmän mukauttamisen yksinkertaistamiseksi tietyn sivuston ominaispiirteiden mukaan on suositeltavaa (kuten edellä mainittiin) luoda erityinen taulukko kaikkien näiden asetusten tallentamiseksi, jotta voit syöttää tiettyjä sivustollesi ominaisia arvoja. se. Tämän lähestymistavan ilmeinen etu on, että järjestelmän upottamiseksi jo valmiille sivustolle sinun ei tarvitse tehdä muutoksia moduulien lähdekoodiin, sinun tarvitsee vain muuttaa asetuksia vastaavassa tietokantataulukossa.
Kuvittele esimerkki tällaisen taulukon toteutuksesta: .
Kuten näet, on kenttiä tietojen tallentamiseen nimestä ja salasanasta järjestelmän asetustilaan pääsyä varten, käyttäjäviestin päätaustan väreistä, ylä- ja alakehyksestä (vastaavasti Mid_Color, Top_Color, Bot_Color kentät). , käyttäjätietojen syöttämiseen käytetyn lomakkeen otsikon väristä ja koosta (Form_Color ja FormTitleSize kentät vastaavasti), itse viestin tekstin väristä, koosta ja fontin tyylistä, tietokentistä sekä itse vieraskirjan sivut (kentät MessageFontColor, MessageFontSize, MessageFontFace, InfoFontColor, InfoFontSize, InfoFontFace, PageFontColor, PageFontSize ja PageFontFace vastaavasti), vaihda kenttiä, jotta vastuuhenkilö voi lähettää automaattisesti ilmoituksia uusista viesteistä. johtaja tai sivuston ylläpitäjä), kentät vastuuhenkilön sähköpostiosoitteen, käyttäjän jättämän kiitosviestin tekstin, luettelon kanssa, eivät ole sallittuja. x sanat ja niiden suodatustilan kytkin (jos jälkimmäinen on käytössä, virheellisten sanojen luettelossa olevat sanat korvataan automaattisesti tähdillä ja siten ohjataan verkkosivuston tekstin sanaston normatiivisuutta) .
Vieraskirjan integrointijärjestelmän kehittäminen edellyttää web-rajapinnan järjestämistä kaikkien tarkastelemiemme parametrien (hallintataulukon kentät) asettamiseksi.
Järjestelmän integrointi jo valmiille sivustolle puhtaassa muodossaan voi aiheuttaa vaikeuksia sekä lähdetekstin havaitsemisessa että tulevaisuudessa, jos esimerkiksi joudut väliaikaisesti poistamaan vieraskirjan käytöstä tietyllä sivustolla. Siksi yritämme kehittää järjestelmän siten, että sen integrointi valmiiksi sivustoksi ei ole vaikeaa. Tätä varten on tarpeen muodostaa järjestelmästä itsenäinen moduuli ja sisällyttää se tarvittaessa pääsivuston tekstiin. Joten esimerkiksi verkkosivustosi sivusi teksti voi näyttää tältä: