Βιογραφίες Χαρακτηριστικά Ανάλυση

Πώς λειτουργεί η Google. Εύρεση λέξεων με χρήση πρόσθετων τελεστών

Τι είναι το βιβλίο επισκεπτών;

Φυσικά, εδώ μιλάμε για το πιο χαρακτηριστικό βιβλίο επισκεπτών. Πρώτα απ 'όλα, αυτό είναι ένα σύστημα που παρέχει στον χρήστη τη δυνατότητα να εισαγάγει κείμενο, να επιλέξει μια αξιολόγηση ενός συγκεκριμένου ιστότοπου, καθώς και να υποδείξει τα δικά του δεδομένα (πλήρες όνομα, e-mail, http, κ.λπ.). Είναι επίσης ένα σύστημα παρουσίασης δεδομένων που εισάγονται από διάφορους χρήστες, με δυνατότητα πλοήγησης, αποστολής email στους συντάκτες μηνυμάτων. Παραλλαγές είναι επίσης δυνατές με διαφορετικές ρυθμίσεις και με έλεγχο του κανονιστικού λεξιλογίου.

Τι χρειαζόμαστε

Φυσικά, υποτίθεται ότι ο αναγνώστης είναι εξοικειωμένος με τα βασικά του προγραμματισμού ASP και SQL (η εξοικείωση με τα πρώτα μέρη αυτού του άρθρου θα είναι αρκετή για αυτό). Επιπλέον, θα χρειαστούμε Microsoft SQL Server 7.0 ή 2000, κάποιο πρόγραμμα επεξεργασίας HTML ή κειμένου (συνιστώ να χρησιμοποιήσετε το Macromedia Dreamweaver UltraDev 4.0) και λίγη υπομονή.

Δημιουργία και προετοιμασία βάσης δεδομένων

Για να οργανώσετε την αποθήκευση των δεδομένων που εισάγουν οι χρήστες, θα χρειαστείτε έναν πίνακα όπου μπορείτε να δημιουργήσετε πεδία για την αποθήκευση του ονόματος του χρήστη, της διεύθυνσης email του, της χώρας κατοικίας, της διεύθυνσης τοποθεσίας, της διεύθυνσης IP, της βαθμολογίας χρήστη του ιστότοπου σε πέντε σημεία κλίμακα κ.λπ.:

Προκειμένου να ενσωματωθεί εύκολα το σύστημα σε υπάρχουσες τοποθεσίες, συνιστάται να σχεδιάσετε έναν άλλο πίνακα σχεδιασμένο να αποθηκεύει χρώμα και άλλες ρυθμίσεις. Αυτό θα σας επιτρέψει να αλλάξετε αυτές τις ρυθμίσεις στο μέλλον χωρίς να αλλάξετε τις αντίστοιχες παραμέτρους στους πηγαίους κωδικούς των λειτουργικών μονάδων εφαρμογής του βιβλίου επισκεπτών.

  • Εκτελέστε το πρόγραμμα διαμόρφωσης προέλευσης δεδομένων (Πηγές δεδομένων ODBC) - Έναρξη->Ρυθμίσεις->Πίνακας ελέγχου->Εργαλεία διαχείρισης->Πηγές δεδομένων ODBC.
  • Μεταβείτε στην καρτέλα System DSN και δημιουργήστε μια νέα προέλευση δεδομένων κάνοντας κλικ στο Προσθήκη...
  • Στη λίστα προγραμμάτων οδήγησης που εμφανίζεται, επιλέξτε το πρόγραμμα οδήγησης της βάσης δεδομένων - Microsoft SQL Server και κάντε κλικ στο Επόμενο.
  • Στη γραμμή Όνομα προέλευσης δεδομένων, καθορίστε το όνομα της βάσης δεδομένων σας (στο παράδειγμα που περιγράφεται, Βιβλίο επισκεπτών είναι το όνομα με το οποίο θα αναφερθείτε σε αυτό στο μέλλον).
  • Στη γραμμή Διακομιστής, καθορίστε τον διακομιστή στον οποίο θα συνδεθείτε και κάντε κλικ στο Επόμενο.
  • Επιλέξτε τη λειτουργία ελέγχου ταυτότητας Με τον διακομιστή SQL..., ορίστε το όνομα χρήστη και τον κωδικό πρόσβασης για σύνδεση στον διακομιστή SQL. Καθορίστε το πρωτόκολλο επικοινωνίας με τον διακομιστή (κουμπί ρύθμισης παραμέτρων πελάτη - TCP/IP) και κάντε κλικ στο Επόμενο δύο φορές και μετά κάντε κλικ στο Τέλος.
  • Θα δείτε στατιστικά στοιχεία σχετικά με τις ενέργειες που έγιναν και για να ελέγξετε την πηγή δεδομένων μπορείτε να χρησιμοποιήσετε το κουμπί Test Data Source.
  • Ως αποτέλεσμα, θα δείτε μια γραμμή στη λίστα των πηγών δεδομένων στο σύστημά σας.

Τώρα που η βάση δεδομένων είναι έτοιμη, μπορείτε να προχωρήσετε απευθείας στη δημιουργία ενός βιβλίου επισκεπτών.

Ενσωμάτωση του συστήματος σε έτοιμη ιστοσελίδα

Είναι σαφές ότι το ίδιο το βιβλίο επισκεπτών δεν έχει νόημα. Κρίνετε μόνοι σας: ποιος χρειάζεται έναν ιστότοπο που έχει σχεδιαστεί αποκλειστικά για τη συλλογή απόψεων αναγνωστών. Άλλωστε για να μαζέψεις απόψεις για κάτι πρέπει πρώτα να το παρουσιάσεις στην κρίση τους. Ως εκ τούτου, είναι απαραίτητο να δοθεί ιδιαίτερη προσοχή σε θέματα που σχετίζονται με την απλοποίηση της ενσωμάτωσης του συστήματος σε έτοιμες ιστοσελίδες.

Συγκεκριμένα, για να απλοποιηθεί η προσαρμογή του συστήματος για τα χαρακτηριστικά γνωρίσματα ενός συγκεκριμένου ιστότοπου, συνιστάται (όπως προαναφέρθηκε) να δημιουργήσετε έναν ειδικό πίνακα για να αποθηκεύσετε όλες αυτές τις προτιμήσεις, προκειμένου να εισαγάγετε σε αυτόν ορισμένες τιμές που αφορούν τον ιστότοπό σας. Το προφανές πλεονέκτημα αυτής της προσέγγισης είναι ότι για να ενσωματώσετε το σύστημα σε έναν έτοιμο ιστότοπο, δεν θα χρειαστεί να κάνετε αλλαγές στον πηγαίο κώδικα των λειτουργικών μονάδων, θα χρειαστεί μόνο να αλλάξετε τις ρυθμίσεις στον αντίστοιχο πίνακα βάσης δεδομένων.

Ας φανταστούμε ένα παράδειγμα υλοποίησης ενός τέτοιου πίνακα: .

Όπως μπορείτε να δείτε, υπάρχουν πεδία εδώ για την αποθήκευση πληροφοριών σχετικά με το όνομα και τον κωδικό πρόσβασης για πρόσβαση στη λειτουργία ρύθμισης συστήματος, τα χρώματα του κύριου φόντου του μηνύματος χρήστη, το επάνω και το κάτω πλαίσιο (πεδία Mid_Color, Top_Color, Bot_Color, αντίστοιχα) , το χρώμα και το μέγεθος της κεφαλίδας της φόρμας που χρησιμοποιείται για την εισαγωγή δεδομένων χρήστη (πεδία Form_Color και FormTitleSize, αντίστοιχα), σχετικά με το χρώμα, το μέγεθος και το στυλ γραμματοσειράς του ίδιου του κειμένου του μηνύματος, τα πεδία πληροφοριών, καθώς και τις σελίδες με το βιβλίο επισκεπτών (πεδία MessageFontColor, MessageFontSize, MessageFontFace, InfoFontColor, InfoFontSize, InfoFontFace, PageFontColor, PageFontSize και PageFontFace αντίστοιχα), αλλάξτε τα πεδία για να ενεργοποιήσετε τη λειτουργία της νέας αυτόματης αποστολής μηνυμάτων σε ειδοποιήσεις ηλεκτρονικού ταχυδρομείου. (για παράδειγμα, διαχειριστής ή διαχειριστής ιστότοπου), πεδία που αποθηκεύουν τη διεύθυνση e-mail του υπεύθυνου, το κείμενο του μηνύματος με ευχαριστίες για το μήνυμα που άφησε ο χρήστης, με μια λίστα με απαράδεκτες λέξεις και έναν διακόπτη για λειτουργία φιλτραρίσματος (εάν το τελευταίο είναι ενεργοποιημένο, τότε οι λέξεις στη λίστα των μη αποδεκτών θα αντικατασταθούν αυτόματα στο κείμενο του μηνύματος με αστερίσκους και έτσι θα ασκείται έλεγχος στο κανονιστικό λεξιλόγιο των κειμένων του ιστότοπου).

Η ανάπτυξη ενός συστήματος ενοποίησης βιβλίου επισκεπτών συνεπάγεται επίσης την οργάνωση μιας διεπαφής Web για τη ρύθμιση όλων των παραμέτρων που έχουμε εξετάσει (πεδία του πίνακα διαχείρισης).

Η ενσωμάτωση του συστήματος σε έναν έτοιμο ιστότοπο στην καθαρή του μορφή μπορεί να δημιουργήσει ορισμένες δυσκολίες τόσο κατά την αντίληψη του αρχικού κειμένου όσο και στο μέλλον, εάν, για παράδειγμα, χρειαστεί να απενεργοποιήσετε προσωρινά το βιβλίο επισκεπτών σε έναν συγκεκριμένο ιστότοπο. Ως εκ τούτου, θα προσπαθήσουμε να αναπτύξουμε το σύστημα με τέτοιο τρόπο ώστε η ενσωμάτωσή του σε μια ολοκληρωμένη ιστοσελίδα να μην είναι δύσκολη. Για να γίνει αυτό, είναι απαραίτητο να δημιουργήσετε μια ανεξάρτητη ενότητα συστήματος και να την συμπεριλάβετε στο κείμενο του κύριου ιστότοπου όπου είναι απαραίτητο. Έτσι, για παράδειγμα, το κείμενο της σελίδας του ιστότοπού σας μπορεί να μοιάζει με αυτό:

ASP σε ασημένια πιατέλα (Μέρος - 15) – Βιβλίο επισκεπτών

Όπως μπορείτε να δείτε, στην πρώτη περίπτωση η οδηγία για τη συμπερίληψη σελίδας με βιβλίο επισκεπτών () υποδεικνύεται στη σωστή θέση και στη δεύτερη περίπτωση, η σελίδα του αρχικού ιστότοπου παρουσιάζεται απλώς με τη μορφή τριών διαδοχικά συμπεριλαμβανόμενων στοιχείων: την αρχή, τη σελίδα με το βιβλίο επισκεπτών και το τέλος. Η χρήση του ενός ή του άλλου τρόπου οργάνωσης της δομής της σελίδας του ιστότοπού σας είναι θέμα γούστου και εξαρτάται τόσο από τη δομή του ιστότοπου προέλευσης όσο και από τον βαθμό πολυπλοκότητάς του.

Κύρια σελίδα του βιβλίου επισκεπτών (αρχείο Guest.asp)

Η εφαρμογή που παρουσιάζεται θα έχει μόνο μία σελίδα, η οποία θα χρησιμεύει τόσο για την εμφάνιση μηνυμάτων χρήστη όσο και για την πλοήγηση και την εισαγωγή νέων μηνυμάτων. Ανάλογα με τις τιμές των βασικών παραμέτρων, θα εκτελεστεί μια ή η άλλη ενέργεια και η σελίδα θα βρίσκεται σε μια ή την άλλη κατάσταση. Πρώτα απ 'όλα, θα χρειαστεί να αναπτύξετε εκείνο το τμήμα του στο οποίο θα εμφανίζονται τα μηνύματα χρήστη και στο οποίο θα τοποθετούνται σύνδεσμοι προς το τμήμα που χρησιμοποιείται για την προσθήκη νέων μηνυμάτων.

Αρχικά, ας γράψουμε μερικές συναρτήσεις για την εργασία με συμβολοσειρές:

  1. Λειτουργία αντικατάστασης κενού συμβολοσειράς με κενό και μονό εισαγωγικό με διπλό εισαγωγικό:<% Function ChkString(string) If string = "" then string = " " ChkString = Replace(string, """, """") End Function %>
  2. Η λειτουργία ελέγχου του λεξιλογίου του κειμένου του μηνύματος για κανονικότητα. Εάν βρείτε αντιστοιχίες λέξεων με λέξεις από τη λίστα με τις μη αποδεκτές, θα πρέπει να τις αντικαταστήσετε με αστερίσκους:<% Function ChkBadWords(String2) strBadWords = objRec2("BadWords") bwords = split(strBadWords, "|") For i = 0 to ubound(bwords) String2 = Replace(String2, bwords(i), string(len(bwords(i)),"*"), 1,-1,1) Next ChkBadWords = String2 end function %>
  3. Μια λειτουργία για τη μορφοποίηση κειμένου που εισάγει ο χρήστης. Εάν είναι απαραίτητο (εάν υπάρχει αντίστοιχο πλαίσιο ελέγχου στη βάση δεδομένων), το κείμενο θα ελεγχθεί (φιλτραριστεί) για κανονικότητα:<% Function FormatStr(String) on Error resume next String = Server.HTMLEncode(String) String2 = Replace(String, CHR(13), "") String2 = Replace(String, CHR(10) & CHR(10), "

    ") String2 = Αντικατάσταση(String, CHR(10), "
    ") Αν objRec2("BadOn") = True τότε String2 = ChkBadWords(String2) End if FormatStr = String2 End Function %>

  4. Λειτουργία ελέγχου συμπλήρωσης πεδίων:<% Function ValidateField(sFieldValue, sFieldType) Valid = True Select Case LCase(sFieldType) Case "name" If Len(sFieldValue) = 0 Then Valid = False Case "message" If Len(sFieldValue) = 0 Then Valid = False End Select ValidateField = Valid End Function %>
  5. Η διαδικασία για την προσθήκη νέων μηνυμάτων (σημειώστε πώς υπολογίζεται η διεύθυνση IP του υπολογιστή από τον οποίο στάλθηκε το μήνυμα):
<% Sub Update strSql = "insert into Messages (Name, Country, Email, URL,IP,Message,Rating) values ("" strSql = StrSql & ChkString(Request.Form("name")) & "", "" strSql = StrSql & ChkString(Request.Form("Country")) & "", "" strSql = StrSql & ChkString(Request.Form("email")) & "", "" strSql = StrSql & ChkString(Request.Form("URL")) & "", "" strSql = StrSql & Request.ServerVariables("REMOTE_ADDR") & "", "" strSql = StrSql & ChkString(Request.Form("Message")) & "", "" strSql = StrSql & ChkString(Request.Form("Rating")) & "")" objConn.Execute (StrSql) %>

Μετά από αυτό, οι παράμετροι των χρωμάτων, των μεγεθών και των γραμματοσειρών σχεδίασης εξάγονται και εφαρμόζονται από τον αντίστοιχο πίνακα:

"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("FormTitleSize")%>">Σας ευχαριστούμε για την εγγραφή σας στο βιβλίο επισκεπτών μας!

"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>">Για να δείτε την καταχώρισή σας, κάντε κλικ εδώ

Τώρα στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου στον διαχειριστή ή στον διαχειριστή ειδοποιώντας τους για ένα νέο μήνυμα στο βιβλίο επισκεπτών, εάν είναι απαραίτητο:

<% If Not(Request.Form("email"))="" AND objRec2("AutoEmail")=True then Name = Request.Form("name") Email = Request.Form("email") sFrom = objRec2("YourEmail") sTo=Email sSubject = "Спасибо, Ваша запись в нашей гостевой книге принята!" sMessage = "Дорогой(ая) " & Name & vbcrlf _ & vbcrlf _ & objRec2("ThankMessage") & vbcrlf _ & vbcrlf _ & vbcrlf Set objNewMail = CreateObject("CDONTS.NewMail") objNewMail.Send sFrom, sTo, sSubject, sMessage Set objNewMail = Nothing End If If objRec2("YouEmail")=True then Name = Request.Form("name") Home_Page = Request.Form("url") Email = Request.Form("email") Message = Request.Form("message") Country = Request.Form("Country") Address = Request.ServerVariables("REMOTE_ADDR") Rating = Request.Form("Rating") If Rating ="0" then Rating="No Rating" End If sFrom = objRec2("YourEmail") sTo= objRec2("YourEmail") sSubject = "Новое сообщение" sMessage = "Привет," & vbcrlf _ & "Новое сообщение поступило в гостевую книгу" & vbcrlf _ & vbcrlf _ & ":" & vbcrlf _ & vbcrlf _ & Message & vbcrlf _ & vbcrlf _ & "Детали сообщения:" & vbcrlf _ & "Ваше имя: " & Name & vbcrlf _ & "Email: " & Email & vbcrlf _ & "URL: " & Home_Page & vbcrlf _ & "Страна: " & Country & vbcrlf _ & "Рейтинг: " & Rating & vbcrlf _ & "Адрес: " & Address Set objNewMail = CreateObject("CDONTS.NewMail") objNewMail.Send sFrom, sTo, sSubject, sMessage Set objNewMail = Nothing End If End Sub %>

Φόρμα για την εισαγωγή νέων τιμών

Συνιστάται επίσης να συμπεριλάβετε στη διαδικασία την εμφάνιση μιας φόρμας που χρησιμεύει για την προσθήκη νέων μηνυμάτων (σημειώστε ότι η φόρμα είναι κλειστή από μόνη της, δηλαδή η ενότητα που την περιέχει λειτουργεί ως αντίδραση σε αυτήν):

<% Sub ShowForm(Sign) %>

>
"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("FormTitleSize")%>"> Αφήστε μια σημείωση στο βιβλίο επισκεπτών μας

">* Υποδεικνύει πεδία που πρέπει να θυμόμαστε

colspan=2> "color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>"> Το όνομα σου: *
"μέγεθος=30> <% If dictFields(LCase("name")) Then Response.Write "Πρέπει να εισαγάγετε ένα όνομα
"Else Response.Write"
" Τέλος εάν %>
colspan=2> "color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>"> ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ:
"μέγεθος=30>
colspan=2> "color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>"> URL:
"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>">http:// "μέγεθος=30>
colspan=2> "color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>"> Μια χώρα:
"μέγεθος=30>
"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>"> Πώς αξιολογείτε την ιστοσελίδα μας;
"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%> ">Τα σχόλια σας: *
" color="red" size="-2"><% If dictFields(LCase("message")) Then Response.Write "Вы не ввели сообщение
"Else Response.Write"
" Τέλος εάν %>
<% End Sub %>

Στη συνέχεια ακολουθεί η κύρια λειτουργία, η οποία χρησιμεύει για την εμφάνιση ενός σταθερού αριθμού μηνυμάτων χρήστη (η τιμή που ανακτάται από τον πίνακα ρυθμίσεων διαχείρισης):

<% Sub Show NumPerPage=INT(objRec2("NumPerPage")) If Request.QueryString("page") = "" Then iPageCurrent = 1 Else iPageCurrent = CInt(Request.QueryString("page")) End If Set objRec = Server.CreateObject ("ADODB.Recordset") StrSql = "SELECT * FROM Messages ORDER BY ID DESC;" objRec.PageSize = NumPerPage objRec.CacheSize = NumPerPage objRec.Open StrSql,objConn,3,1,&H0001 iPages = objRec.PageCount TotalRows = objRec.RecordCount If iPageCurrent >iPages Τότε iPageCurrent = iPages If iPageCurrent< 1 Then iPageCurrent = 1 If iPages = 0 Then Response.Write "Не найденно записей!" Else ObjRec.AbsolutePage = iPageCurrent %>

"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>"> Σύνολο στο βιβλίο <%=TotalRows%>εγγραφές σε <%=iPages%>σελίδα(ες)

<% iRecordsShown = 0 Do While iRecordsShown < NumPerPage And Not objRec.EOF Rating = ObjRec("Rating") If IsNull(Rating) or Rating="0" then Rating = "nr" Else Rating = ObjRec("Rating") End If If IsNull(ObjRec("URL")) then Link = "Не указан URL" Else Link = "http://" & ObjRec("URL") & "" End If Email = FormatStr(ObjRec("Email")) Name = FormatStr(ObjRec("Name")) %>
"> "color="<%=objRec2("InfoFontColor")%>"μέγεθος="<%=objRec2("InfoFontSize")%>"><%=ObjRec("DateID") %> "> "color="<%=objRec2("InfoFontColor")%>"μέγεθος="<%=objRec2("InfoFontSize")%>">Αξιολόγηση ιστότοπου: .gif" height="14" width="65">
"> "color="<%=objRec2("MessageFontColor")%>"μέγεθος="<%=objRec2("MessageFontSize")%>"><%=FormatStr(ObjRec("Message"))%>
"> "color="<%=objRec2("InfoFontColor")%>"μέγεθος="<%=objRec2("InfoFontSize")%>"> <% If IsEmpty(Email) or Email=" " then Response.Write Name Else Response.Write ""&Name End If %> "> "color="<%=objRec2("InfoFontColor")%>"μέγεθος="<%=objRec2("InfoFontSize")%>"><%=FormatStr(ObjRec("Country")) %> IP:<%= ObjRec("IP") %> "> "color="<%=objRec2("InfoFontColor")%>"μέγεθος="<%=objRec2("InfoFontSize")%>"> <%=Link%>

<% iRecordsShown = iRecordsShown + 1 objRec.MoveNext Loop if iPages >1 και μετά %>

"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>"> Σελίδες: <% For I = 1 To iPages If I = iPageCurrent Then Response.Write ""&ΕΓΩ&""Else Response.Write" "&ΕΓΩ&""End If Next Response.Write"" Else Response.Write " " End If End If objRec.Close Set objRec = Nothing End Sub %>

Προσέξτε πώς δημιουργείται και υλοποιείται ο σύνδεσμος για την προβολή της ακόλουθης σελίδας με ένα τέτοιο «τμήμα» μηνυμάτων:

Απάντηση. Γράψε" "&ΕΓΩ&" "

Όπως μπορείτε να δείτε, ο αριθμός σελίδας μεταβιβάζεται σε αυτήν ως τιμή της παραμέτρου σελίδας και στη συνέχεια, εάν αυτή η τιμή δεν είναι ίση με 1, η εμφάνιση των μηνυμάτων ξεκινά όχι από το πρώτο μήνυμα, αλλά από αυτό που εμφανίζεται πρώτο στο τη σελίδα με τον αντίστοιχο αριθμό που καθορίζεται στην παράμετρο:

<% NumPerPage=INT(objRec2("NumPerPage")) If Request.QueryString("page") = "" Then iPageCurrent = 1 Else iPageCurrent = CInt(Request.QueryString("page")) End If %>Ακολουθεί το κείμενο προέλευσης της ίδιας της ενότητας, το οποίο συνδέεται με τη βάση δεδομένων και ανακτά εγγραφές (στο παράδειγμα που περιγράφεται αυτή θα είναι η μόνη εγγραφή) από τον πίνακα ρυθμίσεων διαχείρισης διαχειριστή:<% Set objConn = Server.CreateObject ("ADODB.Connection") objConn.Open StrConn Set objRec2 = Server.CreateObject ("ADODB.Recordset") ConfigSql = "SELECT * FROM Admin;" objRec2.Open ConfigSql,objConn,0,1,&H0001 %>

Στη συνέχεια, μπορείτε να σχεδιάσετε τον τίτλο και τις κύριες ετικέτες της σελίδας HTML:

ASP σε ασημένια πιατέλα μέρος 15 - βιβλίο επισκεπτών DIY

"color="<%=objRec2("PageFontColor")%>"μέγεθος="<%=objRec2("PageFontSize")%>">

Προβολή βιβλίου επισκεπτών | Αφήστε μια σημείωση στο βιβλίο επισκεπτών

Και τέλος, ο κύριος βρόχος για την επεξεργασία της κύριας και μοναδικής σελίδας asp της ενότητας θα μοιάζει με αυτό:

<% select case Request.QueryString("mode") case "post" Dim Field Dim dictFields Set dictFields = Server.CreateObject("Scripting.Dictionary") For Each Field in Request.Form If ValidateField(Request.Form(Field), Field) = False Then dictFields.Add LCase(Field), True End If Next If Request.Form.Count <>0 Και dictFields.Count = 0 Στη συνέχεια καλέστε Update Else If Request.Form.Count<>0 Τότε End If ShowForm("Sign") End If case "show" Call Show case Other Call Show End Επιλέξτε %>

Εδώ εξετάζουμε μόνο δύο περιπτώσεις, που αντιστοιχούν σε δύο λειτουργίες της διαδικτυακής μας εφαρμογής: προσθήκη νέας καταχώρησης στο βιβλίο επισκεπτών (τιμή παραμέτρου λειτουργίας = «δημοσίευση») και προβολή μηνυμάτων βιβλίου επισκεπτών (τιμή παραμέτρου λειτουργίας = «εμφάνιση»).

<% objRec2.Close Set objRec2 = Nothing s objConn.Close Set objConn = Nothing Response.Write "

" %>

συμπέρασμα

Εξετάσαμε ένα άλλο λειτουργικό στοιχείο του ιστότοπου και το κάναμε αμέσως φορητό. Το αποτέλεσμα αυτού ήταν ένας πηγαίος κώδικας που ήταν αρκετά δύσκολο να κατανοηθεί. Αν και ο μεγάλος αριθμός παραμέτρων που εξάγονται από τον πίνακα διαχείρισης έχει κάπως περιπλέξει την κατανόηση του πηγαίου κώδικα της ενότητας, η χρήση τους θα σας γλιτώσει μια για πάντα από την ανάγκη επεξεργασίας του κώδικα όταν αλλάξουν. Το σύστημα που έχουμε αναπτύξει είναι αρκετά αποδεκτό στη χρήση και χάρη στην αρθρωτή υλοποίησή του και την προσέγγιση εφαρμογής του σε υπάρχοντες ιστότοπους που περιγράφονται στο άρθρο, μπορεί να χρησιμοποιηθεί ως βιβλίο επισκεπτών σε ιστότοπο σχεδόν οποιουδήποτε βαθμού πολυπλοκότητας .

Θα πρέπει, φυσικά, να εξετάσουμε μια διεπαφή Ιστού για επεξεργασία, προσθήκη και διαγραφή ρυθμίσεων διαχείρισης (σχημάτων), αλλά αυτό θα πάρει πολύ χρόνο και ως εκ τούτου ο συγγραφέας θα προσπαθήσει να το καλύψει σε ένα από τα ακόλουθα μέρη αυτού του άρθρου.

ComputerPress 11"2001

Η καταχώρηση των στοιχείων ελέγχου πραγματοποιείται από την οδηγία @Register, η οποία σας επιτρέπει να χρησιμοποιείτε στοιχεία ελέγχου χρήστη και στοιχεία ελέγχου διακομιστή στον κώδικα HTML της σελίδας χρησιμοποιώντας μια ειδική σύνταξη (δηλωτική σύνταξη ελέγχου προσαρμοσμένου διακομιστή). Με βάση την ανάλυση αυτών των οδηγιών, ο αναλυτής σελίδας μπορεί να συσχετίσει ετικέτες με δεδομένους τύπους και, κατά τη δημιουργία μιας σελίδας, να ενσωματώσει στοιχεία ελέγχου ως κοντέινερ προσαρμοσμένων τύπων - κλάδους του δέντρου ελέγχου της σελίδας.

Οι οδηγίες πρέπει να προηγούνται της πρώτης χρήσης των δηλωθέντων ετικετών, συχνά τοποθετούνται στην αρχή της σελίδας και σε περίπτωση καταχώρισης πολλών στοιχείων ελέγχου σε ιστότοπους με αρθρωτή δομή, ο αριθμός αυτών των δηλώσεων μπορεί να καταλαμβάνει μεγάλο αριθμό γραμμών. Όταν αλλάζετε τη διάταξη των στοιχείων ελέγχου, πρέπει να αναζητήσετε γραμμές που απαιτούν αλλαγές στον κώδικα όλων των σελίδων και των στοιχείων ελέγχου χρήστη στα οποία είναι καταχωρημένα, κάτι που είναι αρκετά ενοχλητικό.

Αυτό το άρθρο περιγράφει μια μέθοδο που απλοποιεί την καταχώρηση των στοιχείων ελέγχου.

Για οδηγίες εγγραφής, θα χρησιμοποιήσουμε ένα κανονικό αρχείο κειμένου στο οποίο θα συλλέξουμε όλες τις οδηγίες @Register. Δεδομένου ότι οι εικονικές διαδρομές μπορούν να χρησιμοποιηθούν για τη δήλωση στοιχείων ελέγχου χρήστη και καθορίζονται μόνο χώροι ονομάτων για τα στοιχεία ελέγχου διακομιστή, μπορούμε να συλλέξουμε όλους τους συνδέσμους που χρειαζόμαστε σε αυτό το αρχείο και οι σύνδεσμοι προς αρχεία ascx θα είναι σωστές για οποιονδήποτε φάκελο έργου. Έτσι φαίνεται αυτό το αρχείο σε ένα από τα έργα:


<%@ 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" %>

Ας ονομάσουμε το αρχείο register.inc και ας το τοποθετήσουμε στο φάκελο /inc του web project μας.

Αυτό το αρχείο θα περιέχει όλους τους συνδέσμους που χρειαζόμαστε θα προσθέσουμε ή θα αλλάξουμε την εγγραφή ενός χρήστη ή διακομιστή ελέγχου σε αυτό.

Τώρα το αρχείο που δημιουργήθηκε πρέπει να συμπεριληφθεί με κάποιο τρόπο στον κώδικα της σελίδας. Θα το κάνουμε αυτό χρησιμοποιώντας την οδηγία SSI (η πλευρά του διακομιστή περιλαμβάνει) #include. Αυτή η οδηγία σάς επιτρέπει να συμπεριλάβετε στατικά και δυναμικά αρχεία στον κώδικα της σελίδας, επεξεργάζοντάς τα με βάση την αντιστοίχιση IIS, π.χ. Ο καθορισμός ενός αρχείου asp ή aspx ως πηγής θα προκαλέσει την επεξεργασία του αρχείου με την κατάλληλη διαδικασία και τα αποτελέσματα αυτής της επεξεργασίας θα αντιγραφούν στη σελίδα εξόδου. Στο ASP, η οδηγία #include χρησιμοποιήθηκε πολύ ευρέως και κατέστησε δυνατή την εφαρμογή της αρθρωτής τοποθεσίας. Με την εμφάνιση του ASP.NET, έγινε πιο βολικό να γίνει αυτό με άλλους τρόπους, για παράδειγμα, χρησιμοποιώντας στοιχεία ελέγχου χρήστη. Σε μελλοντικές εκδόσεις του ASP.NET, το modularity θα εφαρμοστεί χρησιμοποιώντας κύριες σελίδες. Γενικά, η οδηγία #include έχασε το νόημά της και διατηρήθηκε κυρίως για συμβατότητα προς τα πίσω και για απλοποιημένη μετεγκατάσταση έργων ASP στο .Net.

Δεδομένου ότι έχουμε ένα απλό αρχείο κειμένου, δεν θα γίνει καμία επεξεργασία και πριν από την εκτέλεση οποιουδήποτε δυναμικού περιεχομένου, ολόκληρο το περιεχόμενο του αρχείου θα αντιγραφεί στον κώδικα της σελίδας. Εκείνοι. Η προσθήκη του αρχείου register.inc, για παράδειγμα, στην κορυφή της σελίδας, είναι σχεδόν το ίδιο σαν να γράφαμε εκεί όλες τις οδηγίες @Register.

Για να μην εξαρτόμαστε από τη φυσική θέση του αρχείου, χρησιμοποιούμε ξανά τη σύνταξη που υποδεικνύει την εικονική διαδρομή και προσθέτουμε την ακόλουθη γραμμή στον κώδικα του αρχείου aspx:

Βεβαιωθείτε ότι όλα λειτουργούν, αν όχι, διορθώστε τις εσφαλμένες διαδρομές.

Μένει να γίνει ακόμη μία επέμβαση. Τώρα, αν προσπαθήσετε να λάβετε το αρχείο /inc/register.inc από τον σύνδεσμο στο πρόγραμμα περιήγησής σας, μπορείτε εύκολα να το κάνετε. Το IIS το βάζει στα χέρια σας, καθώς και στα χέρια ενός εισβολέα, εντελώς ελεύθερα, αν και περιέχει τις διαδρομές της φυσικής δομής του ιστότοπού σας.

Για να μην συμβεί αυτό, χρησιμοποιούμε τις δυνατότητες του σύγχρονου προγράμματος χειρισμού HttpForbiddenHandler, ο οποίος μας επιτρέπει να προστατεύουμε αρχεία ενός συγκεκριμένου τύπου από την έκδοση κατόπιν αιτημάτων των χρηστών. Αυτή η προσέγγιση είναι βολική και χρησιμοποιείται συχνά, για παράδειγμα, για την προστασία των αρχείων βάσης δεδομένων MS Access που χρησιμοποιούνται σε ένα έργο. Προκειμένου τα αρχεία με την επέκταση *.inc να προστατεύονται με χρήση αυτού του προγράμματος χειρισμού, πρέπει να πείτε στις υπηρεσίες IIS ότι αυτά τα αρχεία θα υποβληθούν σε επεξεργασία από τη διαδικασία ASP.NET, με άλλα λόγια, να ρυθμίσετε την αντιστοίχιση στις υπηρεσίες IIS για αρχεία αυτού του τύπου.

Μια λεπτομερής περιγραφή της διαδικασίας εγκατάστασης για τις υπηρεσίες IIS περιγράφεται στο άρθρο ΠΩΣ ΝΑ: Χρησιμοποιήστε το ASP.NET για την προστασία τύπων αρχείων (http://support.microsoft.com/kb/815152/EN-GR/). Θα χρειαστεί να δημιουργήσουμε μια αντιστοίχιση μόνο για αρχεία τύπου *.inc. Αφού ολοκληρώσετε τα βήματα που περιγράφονται εκεί, όλα τα αιτήματα για αρχεία με αυτήν την επέκταση θα υποβληθούν σε επεξεργασία από τη διαδικασία ASP.NET και θα πρέπει μόνο να επεξεργαστείτε το αρχείο web.config ως εξής:

Αυτό ήταν, τώρα όταν προσπαθείτε να λάβετε το αρχείο /inc/register.inc μέσω απευθείας συνδέσμου, ο χρήστης θα λάβει το σφάλμα Β.

Για να μην καταχωρήσετε το aspnet_isapi.dll, για παράδειγμα, ο πάροχος σας δεν θέλει να το κάνει αυτό, μπορείτε να επωφεληθείτε από τη δυνατότητα της SSI να καθορίζει αρχεία οποιουδήποτε τύπου και να εξαπατήσει χρησιμοποιώντας για ένα αρχείο με οδηγίες @Register μια επέκταση ενός από τους τύπους που έχουν ήδη αντιστοιχιστεί στο IIS από προεπιλογή. Οι επεκτάσεις *.cs ή *.vb θα είναι βολικές για αυτό. Αυτά τα αρχεία περιέχουν τον πηγαίο κώδικα και συνήθως δεν αντιγράφονται στον διακομιστή. Εάν ξαφνικά κάνατε ένα λάθος και το αντιγράψατε, δεν θα μπορείτε να το λάβετε κατόπιν αιτήματος από το πρόγραμμα περιήγησης - όταν προσπαθήσετε να το κάνετε αυτό, ο χρήστης θα λάβει το σφάλμα Β. Αυτό συμβαίνει επειδή για αρχεία αυτού του τύπου, η αντιστοίχιση σε Το IIS έχει ρυθμιστεί από προεπιλογή και η αντίστοιχη επέκταση είναι ήδη καταχωρημένη στην ενότητα αρχείο machine.config. Στο Visual Studio, για να αποτρέψετε τον μεταγλωττιστή να σας δώσει μήνυμα σφάλματος, εγκαταστήστε μια επέκταση που δεν ενδιαφέρεται για τον μεταγλωττιστή: στα έργα C# είναι *.vb, στα έργα VB είναι *.cs.
συμπέρασμα

Η περιγραφόμενη μέθοδος σάς επιτρέπει να καταχωρείτε στοιχεία ελέγχου σε ένα μέρος για ολόκληρο το έργο. Η μεταγενέστερη τροποποίηση αυτού του αρχείου απαιτεί λιγότερη προσπάθεια από ό,τι αν έπρεπε να το κάνετε με τον συνηθισμένο τρόπο. Δοκιμάστε να χρησιμοποιήσετε το SSI #include μέσα στα ίδια τα εισαγόμενα αρχεία - αυτό σας επιτρέπει να οργανώσετε μια ομοιότητα ιεραρχίας και κληρονομικότητας, κάτι που μπορεί να είναι βολικό για μεγάλα έργα

Κάθε προγραμματιστής ASP.NET πρέπει να είναι εξοικειωμένος με τις οδηγίες σελίδας. Εάν είστε αρχάριος και θέλετε να μάθετε για τις Οδηγίες σελίδας, μπορείτε να διαβάσετε αυτό το άρθρο.

Έτσι, η πρώτη ερώτηση αφορά τις Οδηγίες Σελίδας.

Τι είναι η Οδηγία Σελίδας;

Βασικά οι οδηγίες σελίδας είναι εντολές. Αυτές οι εντολές χρησιμοποιούνται από τον μεταγλωττιστή κατά τη μεταγλώττιση της σελίδας.

Πώς να χρησιμοποιήσετε τις οδηγίες σε μια σελίδα ASP.NET

Δεν είναι δύσκολο να προσθέσετε μια οδηγία σε μια σελίδα ASP.NET. Είναι απλό να προσθέσετε οδηγίες σε μια σελίδα ASP.NET. Μπορείτε να γράψετε οδηγίες στην ακόλουθη μορφή:

<%@%>

Δείτε τη μορφή της οδηγίας, ξεκινά με "<%@" and ends with "%>". Ο καλύτερος τρόπος είναι να βάλετε την οδηγία στην κορυφή της σελίδας σας. Αλλά μπορείτε να βάλετε μια οδηγία οπουδήποτε σε μια σελίδα. Κάτι ακόμα, μπορείτε να βάλετε περισσότερα από ένα χαρακτηριστικά σε μία οδηγία.

Ακολουθεί ο πλήρης κατάλογος των οδηγιών:

  • @Σελίδα
  • @Κύριος
  • @Ελεγχος
  • @Εισαγωγή
  • @Εφαρμογές
  • @Κανω ΕΓΓΡΑΦΗ
  • @Συνέλευση
  • @MasterType
  • @Output Cache
  • @PreviousPageType
  • @Αναφορά

Ας συζητήσουμε κάτι για κάθε οδηγία.

Όταν θέλετε να καθορίσετε τα χαρακτηριστικά για μια σελίδα ASP.NET, τότε πρέπει να χρησιμοποιήσετε το @Page Directive. Όπως γνωρίζετε, μια σελίδα ASP.NET είναι ένα πολύ σημαντικό μέρος του ASP.NET, επομένως αυτή η οδηγία χρησιμοποιείται συνήθως στο ASP.NET.

<%@Page Language="C#" AutoEventWIreup="false" CodeFile="Default.aspx.cs" Inherits="_Default"%>

Τώρα έχετε κάποιες πληροφορίες σχετικά με τις οδηγίες @Page. Η οδηγία @Master είναι αρκετά παρόμοια με την οδηγία @Page. Η μόνη διαφορά είναι ότι η οδηγία @master είναι για σελίδες Master. Πρέπει να σημειώσετε ότι, ενώ χρησιμοποιείτε την οδηγία @Master, ορίζετε την ιδιότητα της σελίδας προτύπου. Στη συνέχεια, οποιαδήποτε σελίδα περιεχομένου μπορεί να κληρονομήσει όλες τις ιδιότητες που ορίζονται στην κύρια σελίδα. Υπάρχουν όμως ορισμένες ιδιότητες που είναι διαθέσιμες μόνο σε μια κύρια σελίδα.

<%@Master Language="C#" AutoEventWIreup="false" CodeFile="MasterPage1.master.cs" Inherits="MasterPage"%>

@Ελεγχος

Το @Control δημιουργεί στοιχεία ελέγχου χρήστη ASP.NET. Όταν χρησιμοποιείτε την οδηγία, ορίζετε τις ιδιότητες που θα κληρονομηθούν από τα στοιχεία ελέγχου χρήστη και αυτές οι τιμές εκχωρούνται στα στοιχεία ελέγχου χρήστη

<%@Control Language="C#" Explicit="True" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>

Όπως γνωρίζετε, πρέπει να ορίσετε χώρους ονομάτων στην τάξη σας .cs πριν χρησιμοποιήσετε μια κλάση C# ή VB. Έτσι, η οδηγία @Import εισάγει χώρους ονομάτων. Αυτή η οδηγία υποστηρίζει μόνο ένα χαρακτηριστικό "namespace" και αυτό το χαρακτηριστικό παίρνει μια τιμή συμβολοσειράς που καθορίζει τον χώρο ονομάτων που θα εισαχθεί. Ένα πράγμα που πρέπει να σημειώσετε είναι ότι η Οδηγία @Import δεν μπορεί να περιέχει περισσότερα από ένα ζευγάρια χαρακτηριστικών/τιμών. Αλλά μπορείτε να χρησιμοποιήσετε πολλές γραμμές.

<%@Import Namespace="System.Data"%>

@Εφαρμογές

Η οδηγία @Implements δίνει στις σελίδες ASP.NET για την υλοποίηση διεπαφών πλαισίου .Net. Αυτή η οδηγία υποστηρίζει μόνο μια διεπαφή μεμονωμένων χαρακτηριστικών.

<%@Implements Interface="System.Web.UI.IValidator"%>

@Κανω ΕΓΓΡΑΦΗ

Όταν δημιουργείτε ένα στοιχείο ελέγχου χρήστη και σύρετε αυτό το στοιχείο ελέγχου χρήστη στη σελίδα σας, τότε θα δείτε την οδηγία @Register. Αυτή η οδηγία καταχωρεί τον έλεγχο χρήστη σας στη σελίδα, ώστε να είναι δυνατή η πρόσβαση στο στοιχείο ελέγχου από τη σελίδα.

<%@ Register TagPrefix="MayTag Namespace="MyName.MyNameSpace" Assembly="MyAssembly"%>

@Συνέλευση

Η Οδηγία @Assembly επισυνάπτει συγκροτήματα στη σελίδα ή ένα στοιχείο ελέγχου χρήστη ASP.NET, επομένως όλες οι κλάσεις συγκρότησης και οι διεπαφές είναι διαθέσιμες στην κλάση. Αυτή η οδηγία υποστηρίζει τα δύο χαρακτηριστικά Name και src. Το χαρακτηριστικό Name καθορίζει το όνομα της συγκρότησης και το χαρακτηριστικό src ορίζει την πηγή της συναρμολόγησης.

<%@Assembly Name="MyAssembly"%>
<%@Assembly src="MYAssembly.cs">

@MasterType

Η Οδηγία @MasterType συνδέει ένα όνομα κλάσης με τη σελίδα ASP.NET για τη λήψη αναφορών ή μελών με έντονη πληκτρολόγηση που περιέχονται στην καθορισμένη κύρια σελίδα. Αυτή η οδηγία υποστηρίζει τα δύο χαρακτηριστικά Typename και virtualpath. Το Typename ορίζει το όνομα της παραγόμενης κλάσης από την οποία θα ληφθούν τα έντονα πληκτρολογημένα μέλη ή τα μέλη αναφοράς και η εικονική διαδρομή ορίζει τη θέση της σελίδας από την οποία ανακτώνται.

<%@MasterType VirtualPath="/MasterPage1.master"%>

@output cache

Ελέγχει τις πολιτικές προσωρινής αποθήκευσης εξόδου μιας σελίδας ASP.NET.

<%@ OutputCache Duration ="180" VaryByParam="None"%>
@Previouspagetype

Αυτή η οδηγία καθορίζει τη σελίδα από την οποία προέρχεται οποιαδήποτε διασέλιδη ανάρτηση.

@Αναφορά

Αυτή η οδηγία δηλώνει ότι μια άλλη σελίδα ή κραυγή ελέγχου χρήστη συμμορφώνεται μαζί με την ενεργή σελίδα ή στοιχείο ελέγχου. Αυτή η οδηγία υποστηρίζει το μοναδικό χαρακτηριστικό virtualpath. Ορίζει τη θέση της σελίδας ή του στοιχείου ελέγχου χρήστη από το οποίο θα γίνεται αναφορά στην ενεργή σελίδα.

<%@Reference VirtualPayh="~/MyControl.ascx"%>

Τελικές Λέξεις

Ελπίζω να πάρετε κάποιες γνώσεις από εδώ. Παρακαλώ σχολιάστε πώς σας αρέσει αυτό το άρθρο. Τα σχόλιά σας είναι πολύ πολύτιμα για μένα, γιατί μόνο εσείς θα μου πείτε πού κάνω λάθος και τι βελτιώσεις πρέπει να κάνω για να γράψω ένα καλύτερο άρθρο. Παρακαλώ σχολιάστε και δώστε τα σχόλιά σας.

Η μηχανή αναζήτησης Google (www.google.com) παρέχει πολλές επιλογές αναζήτησης. Όλα αυτά τα χαρακτηριστικά είναι ένα ανεκτίμητο εργαλείο αναζήτησης για έναν νέο χρήστη στο Διαδίκτυο και ταυτόχρονα ένα ακόμη πιο ισχυρό όπλο εισβολής και καταστροφής στα χέρια ανθρώπων με κακές προθέσεις, συμπεριλαμβανομένων όχι μόνο των χάκερ, αλλά και των εγκληματιών που δεν ανήκουν σε υπολογιστές και ακόμα και τρομοκράτες.
(9475 προβολές σε 1 εβδομάδα)

Ντένις Μπαράνκοφ
denisNOSPAMixi.ru

Προσοχή:Αυτό το άρθρο δεν αποτελεί οδηγό δράσης. Αυτό το άρθρο γράφτηκε για εσάς, διαχειριστές διακομιστών WEB, έτσι ώστε να χάσετε την ψευδή αίσθηση ότι είστε ασφαλείς και να καταλάβετε επιτέλους την ύπουλη μέθοδο απόκτησης πληροφοριών και να αναλάβετε την προστασία του ιστότοπού σας.

Εισαγωγή

Για παράδειγμα, βρήκα 1670 σελίδες σε 0,14 δευτερόλεπτα!

2. Ας εισάγουμε μια άλλη γραμμή, για παράδειγμα:

inurl:"auth_user_file.txt"

λίγο λιγότερο, αλλά αυτό είναι ήδη αρκετό για δωρεάν λήψη και εικασία κωδικού πρόσβασης (χρησιμοποιώντας τον ίδιο John The Ripper). Παρακάτω θα δώσω πολλά ακόμη παραδείγματα.

Επομένως, πρέπει να συνειδητοποιήσετε ότι η μηχανή αναζήτησης Google έχει επισκεφθεί τους περισσότερους ιστότοπους του Διαδικτύου και έχει αποθηκεύσει προσωρινά τις πληροφορίες που περιέχονται σε αυτές. Αυτές οι αποθηκευμένες πληροφορίες σάς επιτρέπουν να λαμβάνετε πληροφορίες σχετικά με τον ιστότοπο και το περιεχόμενο του ιστότοπου χωρίς να συνδέεστε απευθείας με τον ιστότοπο, μόνο εμβαθύνοντας στις πληροφορίες που είναι αποθηκευμένες στο Google. Επιπλέον, εάν οι πληροφορίες στον ιστότοπο δεν είναι πλέον διαθέσιμες, τότε οι πληροφορίες στην κρυφή μνήμη ενδέχεται να εξακολουθήσουν να διατηρούνται. Το μόνο που χρειάζεστε για αυτήν τη μέθοδο είναι να γνωρίζετε μερικές λέξεις-κλειδιά της Google. Αυτή η τεχνική ονομάζεται Google Hacking.

Οι πληροφορίες σχετικά με το Google Hacking εμφανίστηκαν για πρώτη φορά στη λίστα αλληλογραφίας του Bugtruck πριν από 3 χρόνια. Το 2001, αυτό το θέμα τέθηκε από έναν Γάλλο φοιτητή. Εδώ είναι ένας σύνδεσμος προς αυτήν την επιστολή http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html. Παρέχει τα πρώτα παραδείγματα τέτοιων ερωτημάτων:

1) Ευρετήριο /admin
2) Ευρετήριο /password
3) Ευρετήριο /mail
4) Ευρετήριο / +banques +type file:xls (για τη Γαλλία...)
5) Ευρετήριο / +passwd
6) Ευρετήριο / password.txt

Αυτό το θέμα έκανε πάταγο στο αγγλόφωνο μέρος του Διαδικτύου πολύ πρόσφατα: μετά το άρθρο του Johnny Long, που δημοσιεύτηκε στις 7 Μαΐου 2004. Για μια πιο ολοκληρωμένη μελέτη του Google Hacking, σας συμβουλεύω να μεταβείτε στον ιστότοπο αυτού του συγγραφέα http://johnny.ihackstuff.com. Σε αυτό το άρθρο θέλω απλώς να σας ενημερώσω.

Ποιος μπορεί να χρησιμοποιήσει αυτό:
- Οι δημοσιογράφοι, οι κατάσκοποι και όλοι εκείνοι οι άνθρωποι που τους αρέσει να χώνουν τη μύτη τους στην επιχείρηση άλλων μπορούν να το χρησιμοποιήσουν για να αναζητήσουν ενοχοποιητικά στοιχεία.
- Χάκερ που αναζητούν κατάλληλους στόχους για πειρατεία.

Πώς λειτουργεί η Google.

Για να συνεχίσετε τη συζήτηση, επιτρέψτε μου να σας υπενθυμίσω μερικές από τις λέξεις-κλειδιά που χρησιμοποιούνται στα ερωτήματα της Google.

Αναζήτηση χρησιμοποιώντας το σύμβολο +

Η Google εξαιρεί λέξεις που θεωρεί ασήμαντες από τις αναζητήσεις. Για παράδειγμα, ερωτηματικές λέξεις, προθέσεις και άρθρα στα αγγλικά: για παράδειγμα are, of, where. Στα ρωσικά, η Google φαίνεται να θεωρεί όλες τις λέξεις σημαντικές. Εάν μια λέξη εξαιρεθεί από την αναζήτηση, η Google γράφει σχετικά. Για να ξεκινήσει η Google την αναζήτηση για σελίδες με αυτές τις λέξεις, πρέπει να προσθέσετε ένα σύμβολο + χωρίς κενό πριν από τη λέξη. Για παράδειγμα:

άσος +βάσης

Αναζήτηση χρησιμοποιώντας το σύμβολο -

Εάν η Google βρει μεγάλο αριθμό σελίδων από τις οποίες πρέπει να εξαιρέσει σελίδες με συγκεκριμένο θέμα, τότε μπορείτε να αναγκάσετε την Google να αναζητήσει μόνο σελίδες που δεν περιέχουν συγκεκριμένες λέξεις. Για να το κάνετε αυτό, πρέπει να υποδείξετε αυτές τις λέξεις τοποθετώντας μια πινακίδα μπροστά από την καθεμία - χωρίς κενό πριν από τη λέξη. Για παράδειγμα:

ψάρεμα - βότκα

Αναζήτηση χρησιμοποιώντας ~

Μπορεί να θέλετε να αναζητήσετε όχι μόνο τη συγκεκριμένη λέξη, αλλά και τα συνώνυμά της. Για να το κάνετε αυτό, προηγηθείτε της λέξης με το σύμβολο ~.

Αναζητήστε μια ακριβή φράση χρησιμοποιώντας διπλά εισαγωγικά

Το Google αναζητά σε κάθε σελίδα όλες τις εμφανίσεις των λέξεων που γράψατε στη συμβολοσειρά ερωτήματος και δεν ενδιαφέρεται για τη σχετική θέση των λέξεων, εφόσον όλες οι καθορισμένες λέξεις βρίσκονται στη σελίδα ταυτόχρονα (αυτό είναι η προεπιλεγμένη ενέργεια). Για να βρείτε την ακριβή φράση, πρέπει να τη βάλετε σε εισαγωγικά. Για παράδειγμα:

"στήριγμα βιβλίων"

Για να έχετε τουλάχιστον μία από τις καθορισμένες λέξεις, πρέπει να καθορίσετε ρητά τη λογική πράξη: Ή. Για παράδειγμα:

ασφάλεια βιβλίου Ή προστασία

Επιπλέον, μπορείτε να χρησιμοποιήσετε το σύμβολο * στη γραμμή αναζήτησης για να υποδείξετε οποιαδήποτε λέξη και. να αντιπροσωπεύει οποιονδήποτε χαρακτήρα.

Αναζήτηση λέξεων με χρήση πρόσθετων τελεστών

Υπάρχουν τελεστές αναζήτησης που καθορίζονται στη συμβολοσειρά αναζήτησης με τη μορφή:

operator:search_term

Δεν χρειάζονται κενά δίπλα στο παχύ έντερο. Εάν εισαγάγετε ένα κενό διάστημα μετά την άνω και κάτω τελεία, θα δείτε ένα μήνυμα σφάλματος και πριν από αυτό, η Google θα τα χρησιμοποιήσει ως κανονική συμβολοσειρά αναζήτησης.
Υπάρχουν ομάδες πρόσθετων τελεστών αναζήτησης: γλώσσες - υποδείξτε σε ποια γλώσσα θέλετε να δείτε το αποτέλεσμα, ημερομηνία - περιορίστε τα αποτελέσματα για τους τελευταίους τρεις, έξι ή 12 μήνες, εμφανίσεις - υποδείξτε πού στο έγγραφο πρέπει να αναζητήσετε η γραμμή: παντού, στον τίτλο, στη διεύθυνση URL, τομείς - αναζήτηση στον καθορισμένο ιστότοπο ή, αντίθετα, εξαιρέστε τον από την ασφαλή αναζήτηση - αποκλείει ιστότοπους που περιέχουν τον καθορισμένο τύπο πληροφοριών και τους αφαιρεί από τις σελίδες αποτελεσμάτων αναζήτησης.
Ωστόσο, ορισμένοι χειριστές δεν απαιτούν πρόσθετη παράμετρο, για παράδειγμα το αίτημα " cache: www.google.comΤο " μπορεί να ονομαστεί ως πλήρης συμβολοσειρά αναζήτησης και ορισμένες λέξεις-κλειδιά, αντίθετα, απαιτούν μια λέξη αναζήτησης, για παράδειγμα " site:www.google.com βοήθεια". Υπό το φως του θέματός μας, ας δούμε τους παρακάτω τελεστές:

Χειριστής

Περιγραφή

Απαιτείται πρόσθετη παράμετρος;

αναζήτηση μόνο στον ιστότοπο που καθορίζεται στο search_term

αναζήτηση μόνο σε έγγραφα με τον τύπο search_term

βρείτε σελίδες που περιέχουν search_term στον τίτλο

βρείτε σελίδες που περιέχουν όλες τις λέξεις όρου αναζήτησης στον τίτλο

βρείτε σελίδες που περιέχουν τη λέξη search_term στη διεύθυνσή τους

βρείτε σελίδες που περιέχουν όλες τις λέξεις search_term στη διεύθυνσή τους

Χειριστής ιστοσελίδα:περιορίζει την αναζήτηση μόνο στον καθορισμένο ιστότοπο και μπορείτε να καθορίσετε όχι μόνο το όνομα τομέα, αλλά και τη διεύθυνση IP. Για παράδειγμα, πληκτρολογήστε:

Χειριστής Τύπος αρχείου:Περιορίζει την αναζήτηση σε συγκεκριμένο τύπο αρχείου. Για παράδειγμα:

Από την ημερομηνία δημοσίευσης του άρθρου, η Google μπορεί να πραγματοποιήσει αναζήτηση σε 13 διαφορετικές μορφές αρχείων:

  • Adobe Portable Document Format (pdf)
  • Adobe PostScript (ps)
  • Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)
  • Lotus WordPro (lwp)
  • MacWrite (mw)
  • Microsoft Excel (xls)
  • Microsoft PowerPoint (ppt)
  • Microsoft Word (έγγραφο)
  • Microsoft Works (wks, wps, wdb)
  • Microsoft Write (wri)
  • Μορφή εμπλουτισμένου κειμένου (rtf)
  • Shockwave Flash (swf)
  • Κείμενο (an, txt)

Χειριστής Σύνδεσμος:εμφανίζει όλες τις σελίδες που οδηγούν στην καθορισμένη σελίδα.
Είναι πιθανώς πάντα ενδιαφέρον να δείτε πόσα μέρη στο Διαδίκτυο γνωρίζουν για εσάς. Ας δοκιμάσουμε:

Χειριστής κρύπτη:Εμφανίζει την έκδοση του ιστότοπου στην κρυφή μνήμη της Google όπως φαινόταν την τελευταία φορά που η Google επισκέφτηκε αυτήν τη σελίδα. Ας πάρουμε κάθε ιστότοπο που αλλάζει συχνά και ας δούμε:

Χειριστής τίτλος:αναζητά την καθορισμένη λέξη στον τίτλο της σελίδας. Χειριστής allintitle:είναι μια επέκταση - αναζητά όλες τις καθορισμένες λίγες λέξεις στον τίτλο της σελίδας. Συγκρίνω:

τίτλος: πτήση για τον Άρη
intitle:flight intitle:on intitle:mars
allintitle: πτήση στον Άρη

Χειριστής inurl:αναγκάζει την Google να εμφανίζει όλες τις σελίδες που περιέχουν την καθορισμένη συμβολοσειρά στη διεύθυνση URL. τελεστής allinurl: αναζητά όλες τις λέξεις σε μια διεύθυνση URL. Για παράδειγμα:

allinurl:acid acid_stat_alerts.php

Αυτή η εντολή είναι ιδιαίτερα χρήσιμη για όσους δεν έχουν SNORT - τουλάχιστον μπορούν να δουν πώς λειτουργεί σε ένα πραγματικό σύστημα.

Μέθοδοι hacking με χρήση της Google

Έτσι, ανακαλύψαμε ότι χρησιμοποιώντας έναν συνδυασμό των παραπάνω τελεστών και λέξεων-κλειδιών, ο καθένας μπορεί να συλλέξει τις απαραίτητες πληροφορίες και να αναζητήσει τρωτά σημεία. Αυτές οι τεχνικές ονομάζονται συχνά Google Hacking.

Χάρτης τοποθεσίας

Μπορείτε να χρησιμοποιήσετε τον τελεστή ιστότοπου: για να παραθέσετε όλους τους συνδέσμους που έχει βρει η Google σε έναν ιστότοπο. Συνήθως, οι σελίδες που δημιουργούνται δυναμικά από σενάρια δεν ευρετηριάζονται χρησιμοποιώντας παραμέτρους, επομένως ορισμένοι ιστότοποι χρησιμοποιούν φίλτρα ISAPI, έτσι ώστε οι σύνδεσμοι να μην έχουν τη μορφή /article.asp?num=10&dst=5, και με κάθετες /article/abc/num/10/dst/5. Αυτό γίνεται έτσι ώστε ο ιστότοπος γενικά να ευρετηριάζεται από τις μηχανές αναζήτησης.

Ας δοκιμάσουμε:

ιστότοπος: www.whitehouse.gov whitehouse

Η Google πιστεύει ότι κάθε σελίδα σε έναν ιστότοπο περιέχει τη λέξη whitehouse. Αυτό είναι που χρησιμοποιούμε για να λάβουμε όλες τις σελίδες.
Υπάρχει επίσης μια απλοποιημένη έκδοση:

site:whitehouse.gov

Και το καλύτερο είναι ότι οι σύντροφοι από το whitehouse.gov δεν ήξεραν καν ότι εξετάσαμε τη δομή του ιστότοπού τους και ακόμη και τις αποθηκευμένες σελίδες που κατέβασε η Google. Αυτό μπορεί να χρησιμοποιηθεί για τη μελέτη της δομής των τοποθεσιών και την προβολή περιεχομένου, παραμένοντας απαρατήρητο προς το παρόν.

Προβολή λίστας αρχείων σε καταλόγους

Οι διακομιστές WEB μπορούν να εμφανίζουν λίστες καταλόγων διακομιστών αντί για κανονικές σελίδες HTML. Αυτό γίνεται συνήθως για να διασφαλιστεί ότι οι χρήστες επιλέγουν και κατεβάζουν συγκεκριμένα αρχεία. Ωστόσο, σε πολλές περιπτώσεις, οι διαχειριστές δεν έχουν καμία πρόθεση να εμφανίσουν τα περιεχόμενα ενός καταλόγου. Αυτό συμβαίνει λόγω εσφαλμένης διαμόρφωσης διακομιστή ή απουσίας της κύριας σελίδας στον κατάλογο. Ως αποτέλεσμα, ο χάκερ έχει την ευκαιρία να βρει κάτι ενδιαφέρον στον κατάλογο και να το χρησιμοποιήσει για τους δικούς του σκοπούς. Για να βρείτε όλες αυτές τις σελίδες, αρκεί να σημειώσετε ότι όλες περιέχουν στον τίτλο τους τις λέξεις: index of. Επειδή όμως το ευρετήριο λέξεων του δεν περιέχει μόνο τέτοιες σελίδες, πρέπει να κάνουμε πιο συγκεκριμένο το ερώτημα και να λάβουμε υπόψη τις λέξεις-κλειδιά στην ίδια τη σελίδα, επομένως ερωτήματα όπως:

intitle:index.of γονικό κατάλογο
intitle:index.of name size

Δεδομένου ότι οι περισσότερες καταχωρίσεις καταλόγου είναι σκόπιμες, μπορεί να δυσκολευτείτε να βρείτε λανθασμένες καταχωρίσεις την πρώτη φορά. Αλλά τουλάχιστον μπορείτε ήδη να χρησιμοποιήσετε καταχωρίσεις για να προσδιορίσετε την έκδοση διακομιστή WEB, όπως περιγράφεται παρακάτω.

Λήψη της έκδοσης διακομιστή WEB.

Η γνώση της έκδοσης του διακομιστή WEB είναι πάντα χρήσιμη πριν ξεκινήσετε οποιαδήποτε επίθεση χάκερ. Και πάλι, χάρη στην Google, μπορείτε να λάβετε αυτές τις πληροφορίες χωρίς να συνδεθείτε σε διακομιστή. Εάν κοιτάξετε προσεκτικά τη λίστα καταλόγου, μπορείτε να δείτε ότι το όνομα του διακομιστή WEB και η έκδοσή του εμφανίζονται εκεί.

Apache1.3.29 - Διακομιστής ProXad στη Θύρα 80 trf296.free.fr

Ένας έμπειρος διαχειριστής μπορεί να αλλάξει αυτές τις πληροφορίες, αλλά, κατά κανόνα, είναι αλήθεια. Έτσι, για να λάβετε αυτές τις πληροφορίες αρκεί να στείλετε ένα αίτημα:

intitle:index.of server.at

Για να λάβουμε πληροφορίες για έναν συγκεκριμένο διακομιστή, διευκρινίζουμε το αίτημα:

intitle:index.of server.at site:ibm.com

Ή αντίστροφα, αναζητούμε διακομιστές που εκτελούν μια συγκεκριμένη έκδοση του διακομιστή:

intitle:index.of Apache/2.0.40 Server at

Αυτή η τεχνική μπορεί να χρησιμοποιηθεί από έναν χάκερ για να βρει ένα θύμα. Εάν, για παράδειγμα, έχει ένα exploit για μια συγκεκριμένη έκδοση του διακομιστή WEB, τότε μπορεί να το βρει και να δοκιμάσει το υπάρχον exploit.

Μπορείτε επίσης να λάβετε την έκδοση διακομιστή προβάλλοντας τις σελίδες που είναι εγκατεστημένες από προεπιλογή κατά την εγκατάσταση της πιο πρόσφατης έκδοσης του διακομιστή WEB. Για παράδειγμα, για να δείτε τη δοκιμαστική σελίδα Apache 1.2.6, απλώς πληκτρολογήστε

intitle:Test.Page.for.Apache it.worked!

Επιπλέον, ορισμένα λειτουργικά συστήματα εγκαθιστούν και εκκινούν αμέσως τον διακομιστή WEB κατά την εγκατάσταση. Ωστόσο, ορισμένοι χρήστες δεν το γνωρίζουν καν. Φυσικά, εάν δείτε ότι κάποιος δεν έχει αφαιρέσει την προεπιλεγμένη σελίδα, τότε είναι λογικό να υποθέσουμε ότι ο υπολογιστής δεν έχει υποστεί καμία προσαρμογή και είναι πιθανό να είναι ευάλωτος σε επιθέσεις.

Δοκιμάστε να αναζητήσετε σελίδες IIS 5.0

allintitle:Καλώς ήρθατε στις Υπηρεσίες Διαδικτύου των Windows 2000

Στην περίπτωση των υπηρεσιών IIS, μπορείτε να προσδιορίσετε όχι μόνο την έκδοση διακομιστή, αλλά και την έκδοση των Windows και το Service Pack.

Ένας άλλος τρόπος για να προσδιορίσετε την έκδοση του διακομιστή WEB είναι να αναζητήσετε εγχειρίδια (σελίδες βοήθειας) και παραδείγματα που ενδέχεται να είναι εγκατεστημένα στον ιστότοπο από προεπιλογή. Οι χάκερ έχουν βρει αρκετούς τρόπους για να χρησιμοποιήσουν αυτά τα στοιχεία για να αποκτήσουν προνομιακή πρόσβαση σε έναν ιστότοπο. Γι' αυτό πρέπει να αφαιρέσετε αυτά τα εξαρτήματα από το εργοτάξιο παραγωγής. Για να μην αναφέρουμε το γεγονός ότι η παρουσία αυτών των στοιχείων μπορεί να χρησιμοποιηθεί για τη λήψη πληροφοριών σχετικά με τον τύπο του διακομιστή και την έκδοσή του. Για παράδειγμα, ας βρούμε το εγχειρίδιο του apache:

Ενότητες inurl:manual apache Directives

Χρήση του Google ως σαρωτή CGI.

Ο σαρωτής CGI ή ο σαρωτής WEB είναι ένα βοηθητικό πρόγραμμα για την αναζήτηση ευάλωτων σεναρίων και προγραμμάτων στον διακομιστή του θύματος. Αυτά τα βοηθητικά προγράμματα πρέπει να γνωρίζουν τι να αναζητήσουν, για αυτό έχουν μια ολόκληρη λίστα ευάλωτων αρχείων, για παράδειγμα:

/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

Μπορούμε να βρούμε καθένα από αυτά τα αρχεία χρησιμοποιώντας το Google, χρησιμοποιώντας επιπλέον τις λέξεις index of ή inurl με το όνομα αρχείου στη γραμμή αναζήτησης: μπορούμε να βρούμε ιστότοπους με ευάλωτα σενάρια, για παράδειγμα:

allinurl:/random_banner/index.cgi

Χρησιμοποιώντας πρόσθετες γνώσεις, ένας χάκερ μπορεί να εκμεταλλευτεί την ευπάθεια ενός σεναρίου και να χρησιμοποιήσει αυτήν την ευπάθεια για να αναγκάσει το σενάριο να εκπέμπει οποιοδήποτε αρχείο είναι αποθηκευμένο στον διακομιστή. Για παράδειγμα, ένα αρχείο κωδικού πρόσβασης.

Πώς να προστατευτείτε από το hacking της Google.

1. Μην δημοσιεύετε σημαντικά δεδομένα στον διακομιστή WEB.

Ακόμα κι αν δημοσιεύσατε τα δεδομένα προσωρινά, μπορεί να τα ξεχάσετε ή κάποιος θα έχει χρόνο να βρει και να λάβει αυτά τα δεδομένα προτού τα διαγράψετε. Μην το κάνεις αυτό. Υπάρχουν πολλοί άλλοι τρόποι μεταφοράς δεδομένων που τα προστατεύουν από κλοπή.

2. Ελέγξτε τον ιστότοπό σας.

Χρησιμοποιήστε τις μεθόδους που περιγράφονται για να ερευνήσετε τον ιστότοπό σας. Ελέγχετε περιοδικά τον ιστότοπό σας για νέες μεθόδους που εμφανίζονται στον ιστότοπο http://johnny.ihackstuff.com. Να θυμάστε ότι εάν θέλετε να αυτοματοποιήσετε τις ενέργειές σας, πρέπει να λάβετε ειδική άδεια από την Google. Αν διαβάσετε προσεκτικά http://www.google.com/terms_of_service.html, τότε θα δείτε τη φράση: Δεν επιτρέπεται να στέλνετε αυτοματοποιημένα ερωτήματα οποιουδήποτε είδους στο σύστημα της Google χωρίς εκ των προτέρων ρητή άδεια από την Google.

3. Ενδέχεται να μην χρειάζεστε το Google για την ευρετηρίαση του ιστότοπού σας ή μέρους του.

Η Google σάς επιτρέπει να αφαιρέσετε έναν σύνδεσμο προς τον ιστότοπό σας ή μέρος του από τη βάση δεδομένων του, καθώς και να αφαιρέσετε σελίδες από την προσωρινή μνήμη. Επιπλέον, μπορείτε να απαγορεύσετε την αναζήτηση εικόνων στον ιστότοπό σας, να απαγορεύσετε την εμφάνιση σύντομων τμημάτων σελίδων στα αποτελέσματα αναζήτησης Όλες οι δυνατότητες διαγραφής ενός ιστότοπου περιγράφονται στη σελίδα http://www.google.com/remove.html. Για να το κάνετε αυτό, πρέπει να επιβεβαιώσετε ότι είστε πραγματικά ο κάτοχος αυτού του ιστότοπου ή να εισαγάγετε ετικέτες στη σελίδα ή

4. Χρησιμοποιήστε το robots.txt

Είναι γνωστό ότι οι μηχανές αναζήτησης εξετάζουν το αρχείο robots.txt που βρίσκεται στη ρίζα του ιστότοπου και δεν ευρετηριάζουν εκείνα τα μέρη που επισημαίνονται με τη λέξη Απαγορεύω. Μπορείτε να το χρησιμοποιήσετε για να αποτρέψετε την ευρετηρίαση μέρους του ιστότοπου. Για παράδειγμα, για να αποτρέψετε την ευρετηρίαση ολόκληρου του ιστότοπου, δημιουργήστε ένα αρχείο robots.txt που περιέχει δύο γραμμές:

Πράκτορας χρήστη: *
Απαγόρευση: /

Τι άλλο συμβαίνει

Για να μην σας φαίνεται η ζωή σαν μέλι, θα πω τέλος ότι υπάρχουν ιστότοποι που παρακολουθούν εκείνους τους ανθρώπους που, χρησιμοποιώντας τις μεθόδους που περιγράφονται παραπάνω, αναζητούν τρύπες σε σενάρια και διακομιστές WEB. Ένα παράδειγμα μιας τέτοιας σελίδας είναι

Εφαρμογή.

Λίγο γλυκό. Δοκιμάστε μερικά από τα παρακάτω μόνοι σας:

1. #mysql dump filetype:sql - αναζήτηση για στοιχεία απόρριψης βάσης δεδομένων mySQL
2. Συνοπτική αναφορά ευπάθειας κεντρικού υπολογιστή - θα σας δείξει ποιες ευπάθειες έχουν βρει άλλα άτομα
3. Το phpMyAdmin εκτελείται στο inurl:main.php - αυτό θα αναγκάσει το κλείσιμο του ελέγχου μέσω του πίνακα phpmyadmin
4. όχι για διανομή εμπιστευτικό
5. Αίτημα Λεπτομέρειες Μεταβλητές διακομιστή δενδρικού ελέγχου
6. Εκτέλεση σε Παιδική λειτουργία
7. Αυτή η αναφορά δημιουργήθηκε από το WebLog
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs – ίσως κάποιος χρειάζεται αρχεία διαμόρφωσης τείχους προστασίας; :)
10. τίτλος:ευρετήριο.οικονομικών.xls – χμμ....
11. intitle:Index of dbconvert.exe chats – icq chat logs
12. intext:Ανάλυση κυκλοφορίας Tobias Oetiker
13. intitle:Usage Statistics for Generated by Webalizer
14. intitle:statistics of advanced web statistics
15. intitle:index.of ws_ftp.ini – ws ftp config
16. Το inurl:ipsec.secrets κρατά κοινά μυστικά - μυστικό κλειδί - καλή εύρεση
17. inurl:main.php Καλώς ορίσατε στο phpMyAdmin
18. inurl:server-info Πληροφορίες διακομιστή Apache
19. site:edu βαθμοί διαχειριστή
20. ORA-00921: απροσδόκητο τέλος της εντολής SQL – λήψη μονοπατιών
21. τίτλος:ευρετήριο.του 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:Index of .mysql_history
27. intitle:index of intext:globals.inc
28. τίτλος:ευρετήριο.διαχειριστών.pwd
29. intitle:Index.of etc shadow
30.intitle:index.ofsecring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini

  • "Hacking mit Google"
  • Εκπαιδευτικό κέντρο "Informzashita" http://www.itsecurity.ru - ένα κορυφαίο εξειδικευμένο κέντρο στον τομέα της εκπαίδευσης σε θέματα ασφάλειας πληροφοριών (Άδεια της Επιτροπής Εκπαίδευσης της Μόσχας Αρ. 015470, Κρατική διαπίστευση αρ. 004251). Το μόνο εξουσιοδοτημένο κέντρο εκπαίδευσης για Συστήματα Ασφάλειας Διαδικτύου και Clearswift στη Ρωσία και τις χώρες της ΚΑΚ. Εξουσιοδοτημένο εκπαιδευτικό κέντρο της Microsoft (εξειδίκευση ασφαλείας). Τα εκπαιδευτικά προγράμματα συντονίζονται με την Κρατική Τεχνική Επιτροπή της Ρωσίας, το FSB (FAPSI). Πιστοποιητικά εκπαίδευσης και κρατικά έγγραφα για προχωρημένη εκπαίδευση.

    Το SoftKey είναι μια μοναδική υπηρεσία για αγοραστές, προγραμματιστές, αντιπροσώπους και συνεργάτες. Επιπλέον, αυτό είναι ένα από τα καλύτερα ηλεκτρονικά καταστήματα λογισμικού στη Ρωσία, την Ουκρανία, το Καζακστάν, το οποίο προσφέρει στους πελάτες μεγάλη γκάμα προϊόντων, πολλούς τρόπους πληρωμής, άμεση (συχνά άμεση) επεξεργασία παραγγελιών, παρακολούθηση της διαδικασίας παραγγελίας στην προσωπική ενότητα, διάφορα εκπτώσεις από το κατάστημα και τους κατασκευαστές BY.