Домой / Работа в Интернете / Кульбаба inurl sign guestbook asp

Кульбаба inurl sign guestbook asp

Here we start out with a simple "settings" file, named settings.asp. This file will be included on each page, and will contain the basic settings for this guestbook.

Since the password (logincode) is NOT in the database, you can leave the database in the webroot with a mappath statement to make the install easier. However, the best place for the database is outside of your webroot, in which case you would want to change the database_path string to your full path ("C:\inetpub\database\post.mdb" for example)

There is also an important settings to allow html, or not. Many times folks abuse a guestbook by filling it with links, and other junk. It would be a good idea to disallow html, unless you really need it.

The language setting is just a set of variables for text used within the system, for each language there is a different text that is used. Very easy to add a "new" language to the system.

Details

The login is a simple login check page, which checks the login code entered on the form
with the one stored in the settings.asp file.

" title of your guestbook. pagetitle = " Demo" " language " english = en, german = ger, french = fr lang = " en" " admin password logincode = " 1234" " number of entries to show. show_posts = " 25" " minimum length of post to be allowed. minimum_length = 4 " set to "no" for no html, set to "yes" to allow html (not recommended!) allow_html = " no" " leave as is, unless you want to move your database. database_path = Server .MapPath(" post.mdb" ) <%Option Explicit %> <% if Request .Form(" mynumber" ) = " " then response .redirect(" login.asp?l=password_blank" ) End If " set variables from form FormPwd = Request .Form(" mynumber" ) FormPwd = replace (FormPwd," "" ," """ ) " run login or return to login page if formpwd = logincode then Session(" LoginID" ) = formpwd else response .redirect(" login.asp?l=incorrect_login_or_password" ) End if " final redirect response .redirect(" post.asp" ) %>

The login uses session variables to store the login information, so to log off we simple abandon the session. The redirect appends the date to avoid seeing a "cached" login page after being logged out. This is not a security issue, but just for convenience.

<% session.abandon response .redirect(" post.asp?d=" & date ) %>

Now the main code is the post.asp page, this page is the same whether you are logged in as admin or just a guest visiting the page. If you are logeed in you see the same data as a guest, only you have more options available, you can delete posts, or restore deleted posts, or empty the "recycle bin" (where deleted posts are stored until you clear them out).

As you can see from the code below, we check for the loggedin session right from the start,
then we can use this throughout the rest of the script to display data based on your status as admin or guest.

<% option explicit %> <% LoggedIn = Session(" loginID" )

Once you are logged in you see more options available.

The file is split up into "parts" depending on what querystring is passed.

The section below checks to see if you are logged in and then check so see if
you have attempted to empty the "deleted" items from the database.

" ============Empty Deleted Items from the database============ If LoggedIn <> " " Then if request .querystring(" del" ) = 1 then Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " & _ database_path mySQL = " DELETE FROM tblpost where active = 2;" dConn.execute(mySQL) dconn.close set dconn = nothing response .redirect(" post.asp" ) end if end if

As you can see from the rest of the main "post" code, different items are displayed or actions performed based on being logged in or not, and if so what querystring value you have passed to the page.

" ============set based on delete or undelete============ If LoggedIn <> " " Then showdeleted = request .querystring(" showdeleted" ) if showdeleted = 1 then active = 2 removetype = 1 delete_text = undelete_text delimage = " undelete.gif" else active = 1 removetype = 2 delete_text = delete_text delimage = " delete.gif" end if else active = 1 end if " ============Delete/Undelete Items from the guestbook display============ remove = request .querystring(" remove" ) if remove = 1 then Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & database_path removetype = request .querystring(" removetype" ) mySQL = " UPDATE tblPost SET Active = " & removetype & " WHERE ID = " & _ ID & " ;" response .write " updating" dConn.execute(mySQL) dConn.Close set dConn = Nothing response .redirect(" post.asp" ) end if " ============End Delete Section============ Set dataRS = Server .CreateObject (" ADODB.RecordSet" ) dataSQL = " Select TOP " & show_posts & " message, remote_addr, sysdate, " &_ " systime, id FROM tblPost WHERE active = " & active &_ " order by sysdate DESC, systime DESC;" " Response.Write dataSQL " response.end Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & database_path dataRS.Open dataSQL, dConn, 1 , 3 recordcount = dataRS.recordcount if recordcount > 0 then data = dataRS.GetRows() " Data is retrieved so close all connections dataRS.Close Set dataRS = Nothing dconn.close set dconn = nothing " Setup for array usage iRecFirst = LBound (data, 2 ) iRecLast = UBound (data, 2 ) end if " ============IF IS A POST BACK============ message = trim (request .form(" message" )) if request .form(" ispostback" ) = 1 AND (len (message) > minimum_length) then if allow_html = " no" then message = RemoveHTMLtags(message) else message = PreSubmit2(message) end if strSQL = " tblPost" " Open a recordset Set cRS2 = Server .CreateObject (" ADODB.recordset" ) Set dConn = Server .CreateObject (" ADODB.Connection" ) dConn.Open " PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" &_ database_path cRS2.Open strSQL, dConn, 1 ,3 cRS2.AddNew cRS2(" message" ) = message cRS2(" sysdate" ) = date () cRS2(" systime" ) = time () cRS2(" remote_addr" ) = request .ServerVariables(" remote_addr" ) cRS2(" Active" ) = 1 cRS2.Update cRS2.Close Set cRS2 = Nothing dConn.Close Set dConn = Nothing response .redirect(" post.asp" ) end if " ============End POSTBACK Section============ %> <%=pagetitle%> </ title > </ head > <P style=" FONT-WEIGHT: bold" ><%=pagetitle%> <table border=2 bordercolor=" silver" CELLSPACING=0 CELLPADDING=4> <form action=" post.asp" method=" post" name=" form1" id=" form1" > <tr class=" smalltext"> <td><textarea cols=" 50" rows=" 4" name=" message" style=" <span>font-family: Arial, Helvetica, sans-serif;" </span> class=" cssborder" title=" <%=add_text%>" ></ textarea > </ td > <td nowrap><input type=" submit" value=" <%=add_text%>" style=" height: 50px;" class=" cssborder" ></ td > </ tr > <input type=" hidden" name=" ispostback" value=" 1" > </ form > </ table > <% if recordcount > 0 then %> <table border=" 2" cellspacing=" 0" cellpadding=" 4" bordercolor=" silver" width=" 500" > <tr> <th><%= message_text %> </ th > <% If LoggedIn <> " " then %> <th><%= delete_text %> </ th > <% end if %> </ tr > <% " <span> Loop through the records (second dimension of the array) </span> For I = iRecFirst To iRecLast Response .Write " <tr class="smalltext">" & _ " <td colspan="top">" & data(0 , I) & " [" & data(3 ,I) & " | " & data(2 , I) & " | " & data(1 , I) & " ]</td>" if LoggedIn <> " " then response .write " <span><td nowrap valign="top" align="center">" </span> response .write " <img src='/uploads/" %20&%20delimage%20&%20' loading=lazy></td>" end if Next " I %> </ table > <% end if If LoggedIn <> " " Then response .write logoutlink else response .write loginlink end if " close db just in case on error resume next dConn.Close Set dConn = Nothing on error goto 0 %> <p>That is basically it, this is a very simple little guestbook, that should be easy to add to an site that supports ASP and MS Access database connections (No ODBC is necesary).</p> <p>Recently I was working on my Website, and decided I wanted to implement a guestbook. I started to search the Web to find the best guestbook for my Website, but when none turned up, I thought ‘Hey I’m a developer, why not create my own?’ </p> <p>It was very easy to create a guestbook — you can do it too. In this tutorial, I’ll show you how. I’ll assume that you have already knowledge about the basics of ASP.NET programming, that you know the techniques involved in codebehind, and that you have some XML/XSL skills.</p> <h5>Overview</h5> <p>What do we need in order to create a guestbook? We need two Web forms: one in which the user can enter their name, email address, and comment, and another that’s used to display these comments as they’re signed into the guestbook. Of course we can build this functionality into one Web form, but to have a clean code, I’ll use two Web forms with several codebehind files (I’ll discuss these in more detail in a moment).</p> <p>We’ll also need a database to hold the information entered via the form. I used a simple XML file (a database) to store the information entered by the user. For the visualisation of the XML we’ll use XSL.</p> <p>So, in summary, we need the following:</p> <ul><li>Two Web forms</li><li>Codebehind</li><li>Database</li> </ul><p>In a guestbook, it’s usually sufficient to store a user’s name, location, email address, Website address, and comment. Of course, you can store more fields, but for our purposes, these are enough. We’ll store this data in the XML file, which will look something like this:</p><p> <?xml version="1.0" encoding="ISO-8859-1"?> <br> <guestbook> <br> <guest> <br> <name>Sonu Kapoor</name> <br> <location>Germany</location> <br> <email>sonu@codefinger.de</email> <br> <website>www.codefinger.de</website> <br> <comment>This guestbook is written by Sonu Kapoor. <br> I hope you like it. To learn how to create such a guestbook, <br> read the whole story on my website.</comment> <br> </guest> <br> </guestbook> </p><h5>Signing the Guestbook</h5> <p>We’ll allow the user to ‘sign’ our guestbook by entering some information into a simple Web form — in our example this is the guestbook.aspx file. I use the following fields in the Web form:</p> <ul><li>Location</li><li>Email</li><li>Website</li><li>Comment</li> </ul><p>Here’s the code:</p><p> <% @Page Language="C#" Debug="true" Src="Guestbook.cs" <br> Inherits="Guestbook" %> <br> <form runat="server"> <br> ... <br> ... <br> <ASP:Textbox id="name" size="64" runat="server"/> </p><p> <asp:RequiredFieldValidator id="nameRequired" runat="server" <br> ControlToValidate="name" <br> ErrorMessage="You must enter a value into textbox1" <br> Display="dynamic">Enter name <br> </asp:RequiredFieldValidator> </p><p> <ASP:Textbox id="location" size="64" runat="server"/> </p><p> <asp:RequiredFieldValidator id="locationRequired" runat="server" <br> ControlToValidate="location" ErrorMessage="You must enter <br> a value into textbox1" Display="dynamic"> <br> Enter location </asp:RequiredFieldValidator> </p><p> <ASP:Textbox id="website" size="64" runat="server"/> <br> <ASP:Textbox id="email" size="64" runat="server"/> <br> <ASP:Textbox id="comment" TextMode="Multiline" <br> columns="50" rows="10" wrap="true" runat="server"/> </p><p> <asp:RequiredFieldValidator id="commentRequired" runat="server" <br> ControlToValidate="comment" ErrorMessage="You must enter <br> a value into textbox1" Display="dynamic"> <br> Enter comment </asp:RequiredFieldValidator> </p><p> <ASP:Button id="submit" runat="server" Text="Submit" <br> OnClick="Save_Comment"/> <br> <ASP:Button id="reset" runat="server" Text="Reset"/> <br> ... <br> ...doing some visualisation stuff <br> ... <br> </script> <br> </form> </p><p>To avoid confusing you with unnecessary code, I have removed the visualisation tags — including table, table header etc. — from this example (though, of course, these are all included in the downloadable code that’s provided at the end of this tutorial). As we only display a simple form with a few fields and buttons, you can’t see any real programming code in this file. This is because all the functionality is hidden in the codebehind.</p> <p>In the first line of the code above, I set the SRC attribute to let the ASP.NET file know that we are using the codebehind file Guestbook.cs I’ve also set the attribute Inherits with the corresponding classname. This attribute lets the file know which class to inherit.</p> <p>Next, I’ve implemented the required text fields. Remember that if you want to use the same variables in the codebehind, they need to have the same ID in both files, and they must be declared as public.</p> <p>In the next section of the code, I used the ASP.NET validator controls. These controls check whether the user has entered a value into the text field, without doing a round-trip to the server. The code is executed on the client side.</p> <p>Finally, I implemented a submit button with an OnClick event called Save_Comment . This event is used to store the information entered into the XML file by the user. The function of this event is available in Guestbook.cs. I also implemented a reset button — and that’s it! Nothing more has to be done to the Web form. Now, if you run the guestbook.aspx, you should see a Web form that looks like this:</p> <p>Now we know how to display the Web form, but we haven’t seen the code that handles the event in guestbooks.cs. Let’s take a look at that now.</p><p>Using System; <br> using System.Web; <br> using System.Web.UI; <br> using System.Xml; </p><p>Public class Guestbook: Page <br> { <br> // Create the required webcontrols with the same name as <br> in the guestbook.aspx file <br> public TextBox name; <br> public TextBox location; <br> public TextBox email; <br> public TextBox website; <br> public TextBox comment; </p><p>Public void Save_Comment(object sender, EventArgs e) <br> { <br> // Everything is all right, so let us save the data <br> into the XML file <br> SaveXMLData(); </p><p> // Remove the values of the textboxes <br> name.Text=""; <br> location.Text=""; <br> website.Text=""; <br> email.Text=""; <br> comment.Text=""; <br> } <br> } </p><p>Private void SaveXMLData() <br> { <br> // Load the xml file <br> XmlDocument xmldoc = new XmlDocument(); <br> xmldoc.Load(Server.MapPath("guestbook.xml")); </p><p> //Create a new guest element and add it to the root node <br> XmlElement parentNode = xmldoc.CreateElement("guest"); <br> xmldoc.DocumentElement.PrependChild(parentNode); </p><p> // Create the required nodes <br> XmlElement nameNode = xmldoc.CreateElement("name"); <br> XmlElement locationNode = xmldoc.CreateElement("location"); <br> XmlElement emailNode = xmldoc.CreateElement("email"); <br> XmlElement websiteNode = xmldoc.CreateElement("website"); <br> XmlElement commentNode = xmldoc.CreateElement("comment"); </p><p> // retrieve the text <br> XmlText nameText = xmldoc.CreateTextNode(name.Text); <br> XmlText locationText = xmldoc.CreateTextNode(location.Text); <br> XmlText emailText = xmldoc.CreateTextNode(email.Text); <br> XmlText websiteText = xmldoc.CreateTextNode(website.Text); <br> XmlText commentText = xmldoc.CreateTextNode(comment.Text); </p><p> // append the nodes to the parentNode without the value <br> parentNode.AppendChild(nameNode); <br> parentNode.AppendChild(locationNode); <br> parentNode.AppendChild(emailNode); <br> parentNode.AppendChild(websiteNode); <br> parentNode.AppendChild(commentNode); </p><p> // save the value of the fields into the nodes <br> nameNode.AppendChild(nameText); <br> locationNode.AppendChild(locationText); <br> emailNode.AppendChild(emailText); <br> websiteNode.AppendChild(websiteText); <br> commentNode.AppendChild(commentText); </p><p> // Save to the XML file <br> xmldoc.Save(Server.MapPath("guestbook.xml")); </p><p> // Display the user the signed guestbook <br> Response.Redirect("viewguestbook.aspx"); <br> } <br> } </p><p>Wow! That’s our codebehind file… but what really happens here? You won’t believe it, but the answer is: "not much"!</p> <p>First, we implement the minimal required namespaces which we need in order to access several important functions. Then I create a new class called Guestbook:</p> public class Guestbook: Page <p>Note that it’s this class that’s inherited by the guestbook.aspx file. Then we declare 5 public variables of type textbox. Remember that here, the names have to be identical to those we used when we created the text boxes in guestbook.aspx. Then, as you can see, we use the Save_Comment event, which is fired by the submit button we included in the guestbookpx file. This event is used to save the data.</p> <h5>The Saving Process</h5> <p>The function SaveXMLData() saves the information for us. As we’re using an XML database to store the information, we use the XmlDocument , XmlElement and XmlText classes, which provide all the functions we need.</p> <p>Next, we create a new XMLDocument class object and load the guestbook.xml file. The required nodes are created with the function CreateElement , and the information entered by the user is retrieved and stored to an object of XmlText . Next, we store the created nodes without any values, using the function AppendChild in conjunction with the main XmlDocument object.</p> <p>And finally, the values are stored in the nodes we just created, we save all changes to the guestbook.xml file, and we redirect the page to viewguestbook.aspx, where the stored comment is displayed.</p> <h5>Viewing the Guestbook</h5> <p>To view the guestbook, we must created an another Web form:</p><p> <% @Page Language="C#" Debug="true" Src="ViewGuestbook.cs" <br> Inherits="ViewGuestbook" %> </p><p>As you see, this Web form doesn’t really do all that much. It simply calls the codebehind file, ViewGuestbook.cs. Let’s take a look at this file.</p><p>Using System; <br> using System.Web; <br> using System.Web.UI; <br> using System.Web.UI.WebControls; <br> using System.Xml; <br> using System.Xml.Xsl; <br> using System.IO; </p><p>Public class ViewGuestbook: Page <br> { <br> private void Page_Load(object sender, System.EventArgs e) <br> { <br> //Load the XML file <br> XmlDocument doc = new XmlDocument(); <br> doc.Load(Server.MapPath("guestbook.xml")); </p><p> //Load the XSL file <br> XslTransform xslt = new XslTransform(); <br> xslt.Load(Server.MapPath("guestbook.xsl")); </p><p>String xmlQuery="//guestbook"; <br> XmlNodeList nodeList=doc.Document <br> Element.SelectNodes(xmlQuery); </p><p>MemoryStream ms=new MemoryStream(); <br> xslt.Transform(doc, null, ms); <br> ms.Seek(0, SeekOrigin.Begin); </p><p>StreamReader sr = new StreamReader(ms); </p><p> //Print out the result <br> Response.Write(sr.ReadToEnd()); <br> } <br> } </p><p>I’ve created this class to display all comments submitted through the guestbook to our users. Again, the first thing we do is implement the required namespaces, and, as we’re using XSL for the visualisation, we have to be sure to include the namespace System.Xml.Xsl .</p> <p>Then we create a new class called ViewGuestbook , with a private inbuilt function called Page_Load . This function is always called when the page loads, or when the user performs a refresh. Here, the function loads the guestbook.xml file, and then the XslTranform class is used to transform the XML elements into HTML before we load the guestbook.xsl with the help of a XslTransform object.</p> <p>Next, we create a new object of class XmlNodeList , which will allow us to select the required nodes. We then use the class MemoryStream , available via the namespace System.IO , to create a stream that has memory as a backing store, and use the Transform function to assign the xml data to this memory stream. The Seek function sets the current position to zero.</p> <p>We then create an object of the class StreamReader , which reads the stream, and print the result with the help of the function ReadToEnd() . This function reads the stream from the current position to the end. If you run viewguestbook.aspx, you should see a Web form like this:</p> <p><img src='https://i1.wp.com/sitepointstatic.com/graphics/webform2.gif' width="100%" loading=lazy></p> <h5>The XSL</h5> <p>As I’ve already mentioned, we use XSL for the transformation of the data from XML to HTML. I’ve assumed that you’re already experienced with XSLT, so I’ll only touch on the important aspects here. I have used an XSL for-each loop to iterate through all the guests in the book, which looks something like this:</p><p> <xsl:for-each select="//guest"> <br> <xsl:apply-templates select="name"/> <br> </xsl:for-each> </p><p>And in the loop we call the XSL template name, which looks something like this:</p><p> <xsl:template match="name"> <br> <xsl:value-of select="."/> <br> </xsl:template> </p><h5>Conclusion</h5> <p>As you see, it’s not very difficult to create a guestbook. Good luck! And don’t forget to .</p> <p>Привет читателям <b>сайт </b>)</p><p>В данной статье мы рассмотрим Phoca Guestbook - компонент гостевой книги для <b>Joomla-сайтов </b>.</p><p>Что можно сказать о данном компоненте... Очень простой и удобный в администрировании, имеет достаточное количество настроек для размещения отзывов на Вашем сайте.</p><p><b>Возможности Phoca Guestbook: </b></p><ul><li>выбор прав доступа для пользователей;</li> <li>фильтрация не желаемых слов и фраз;</li> <li>блокировка IP-адресов;</li> <li>ограничение количества печатаемых символов;</li> <li>капча;</li> <li>модернизация сообщений (проверка модератором);</li> <li>внешний вид отзывов (цвет, отображение имя, отображение e-mailи адреса сайта).</li> </ul><p>Итак рассмотрим компонент.</p><p>После установки, <b>Phoca Guestbook </b> не нуждается в глобальных настройках.</p><p><b>Панель управления: </b></p><ul><li>Posts - все сообщения оставленные пользователями;</li> <li>Guestbooks - категории (созданные гостевые книги);</li> <li>Info - Информация и обновление компонента.</li> </ul><p>Как видно, на рисунке справа есть кнопка "Параметры". Если нажать на нее, то можно более обширно настроить гостевую книгу и сам компонент.</p><p><img src='https://i2.wp.com/joomla-secrets.ru/images/guest/2.png' width="100%" loading=lazy></p><table border="1" style="margin-left: auto; margin-right: auto; height: 322px; width: 750px;" cellpadding="0"><tbody><tr><td style="text-align: left;"><p>Параметр</p> </td> <td><p>Значение</p> </td> </tr><tr><td style="text-align: left;"><p>Display Subject In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть поле Объект в форме, устанавливается, если поле Тема будет требоваться</p> </td> </tr><tr><td style="text-align: left;"><p>Display Name In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть имя поля в форме, устанавливается, если поле Name будет необходимо</p> </td> </tr><tr><td style="text-align: left;"><p>Display Email In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть поле e-mail в форму, установите поле e-mail, если потребуется</p> </td> </tr><tr><td style="text-align: left;"><p>Display Website In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть поле Сайт в форме, установите поле, если сайт будет требоваться</p> </td> </tr><tr><td style="text-align: left;"><p>Display Content In Form</p> </td> <td><p>(Да | Да (обязательно) | Нет) показать или скрыть содержимое поля в форме</p> </td> </tr><tr><td style="text-align: left;"><p>Enable Javascript Editor</p> </td> <td><p>(Да | Нет) Включить или выключить JavaScript Editor</p> </td> </tr><tr><td style="text-align: left;"><p>Display Path In Javascript Editor</p> </td> <td><p>(Да | Нет) показать или скрыть информацию о пути в редактор JavaScript</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>(Скрыть | Дисплей) Установите, если форма должна отображаться или нет.</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>(Top | Нижний) Выберите Текущее местоположение</p> </td> </tr><tr><td style="text-align: left;"><p>Display Required Sign</p> </td> <td><p>(Да | Нет) Установите для отображения полей, которые требуются</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>(Да | Нет) Установите, для отображения сообщений.</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>ширина (в пикселях)</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>высота (в пикселях)</p> </td> </tr><tr><td style="text-align: left;"> </td> <td><p>Установить ширину таблицы (таблица, в которой отображается форма, в пикселях)</p> </td> </tr></tbody></table><p><img src='https://i0.wp.com/joomla-secrets.ru/images/guest/3.png' width="100%" loading=lazy></p><table border="1" style="height: 184px; margin-left: auto; margin-right: auto; width: 753px;" cellpadding="0"><tbody><tr style="text-align: center;"><td><p>Параметр</p> </td> <td><p>Значение</p> </td> </tr><tr><td> </td> <td><p>Если не зарегистрированный пользователь оставляет сообщение, то можно дать ему имя по умолчанию. Например: Гость</p> </td> </tr><tr><td><p>Username Or Name</p> </td> <td><p>(Имя пользователя | Имя) выберите имя которое должно быть отображено в Гостевой книге (Имя пользователя или реальное имя пользователя)</p> </td> </tr><tr><td><p>Disable User Check</p> </td> <td><p>(Нет | Да) Проверка пользователя (отключение этого параметра не рекомендуется)</p> </td> </tr><tr><td><p>Registered Users Only</p> </td> <td><p>(Да | Нет) Если Да, то только зарегистрированные пользователи могут добавлять новые сообщения</p> </td> </tr><tr><td> </td> <td><p>(Да | Нет) Если да, то сообщение будет отображаться после одобрения администратора</p> </td> </tr><tr><td> </td> <td><p>Отправить письмо</p> </td> </tr></tbody></table><p><img src='https://i2.wp.com/joomla-secrets.ru/images/guest/4.png' width="100%" loading=lazy></p><table border="1" style="margin-left: auto; margin-right: auto; height: 206px; width: 721px;" cellpadding="0"><tbody><tr><td><p>Параметр</p> </td> <td><p>Значение</p> </td> </tr><tr><td><p>Display Name In Post</p> </td> <td><p>(Да | Нет) показать или скрыть имя (имя пользователя) (гостевой книге)</p> </td> </tr><tr><td><p>Display Email In Post</p> </td> <td><p>(Да | Нет) показать или скрыть электронную почту (гостевой книге)</p> </td> </tr><tr><td><p>Display Website In Post</p> </td> <td><p>(Да | Нет) показать или скрыть сайт в (гостевой книге)</p> </td> </tr><tr><td> </td> <td><p>Установить формат даты</p> </td> </tr><tr><td> </td> <td><p>Установить цвет шрифта</p> </td> </tr><tr><td><p>Second Font Color</p> </td> <td><p>Установить второй цвет шрифта (цвет шрифта даты)</p> </td> </tr><tr><td><p>Background Color</p> </td> <td><p>Установить цвет фона</p> </td> </tr><tr><td> </td> <td><p>Установка цвета границы</p> </td> </tr><tr><td><p>Pagination Default Value</p> </td> <td><p>Установите значение по умолчанию для нумерации страниц</p> </td> </tr><tr><td> </td> <td><p>Установить нумерацию страниц. Отделяются друг от друга запятой (,)</p> </td> </tr><tr><td><p>Pagination Hide All</p> </td> <td><p>(Да | Нет) все значения будут скрыты (нумерация страниц)</p> </td> </tr></tbody></table><p><img src='https://i2.wp.com/joomla-secrets.ru/images/guest/5.png' width="100%" loading=lazy></p><table border="1" style="margin-left: auto; margin-right: auto;" cellpadding="0"><tbody><tr><td><p>Параметр</p> </td> <td><p>Значение</p> </td> </tr><tr><td><p>Forbidden Word Filter</p> </td> <td><p>Установить запрещенные слова, которые не будут отображаться в интерфейсе. Слова отделяются друг от друга запятой (,)</p> </td> </tr><tr><td><p>Forbidden Whole Word Filter</p> </td> <td><p>Установить все запрещенные слова, которые не будут отображаться в интерфейсе. Слова отделяются друг от друга запятой (,)</p> </td> </tr><tr><td><p>Save post with forbidden words</p> </td> <td><p>(Да | Нет) Если да, то посты, которые включают в себя запрещенные слова, будут сохранены в гостевой книге (запрещенные слова будут скрыты, если сохранены)</p> </td> </tr><tr><td> </td> <td><p>Добавить IP которые вы хотите заблокировать. Отделите каждый IP запятой (,)</p> </td> </tr><tr><td><p>Maximum Characters</p> </td> <td><p>Установить максимальное число символов, они могут быть сохранены в базе данных</p> </td> </tr><tr><td> </td> <td><p>Установить максимальное количество URL, которые могут быть отображены в сообщении (0: нет, ссылки будут отображаться в сообщениях, -1: все URL-адреса будут отображаться в сообщениях, например 3: только три ссылки из всех URL будут отображаться в сообщениях)</p> </td> </tr><tr><td><p>Not Allowed URL Identification Words</p> </td> <td><p>Набор слов, который будет определять допускать ли URL-адреса в сообщении. Отделите каждое слово запятая (,). Пример:: / /,. HTM,. ASP,. JSP,. PHP, WWW.,. COM,. ORG,.</p> </td> </tr><tr><td> </td> <td><p>Включение или отключение защиты Captcha</p> </td> </tr><tr><td> </td> <td><p>Измените этот параметр только в том случае, вы не будете видеть капчу.</p> </td> </tr><tr><td><p>Enable Captcha - Users</p> </td> <td><p>(Все | Не зарегистрированы) Параметр отображения капчи для груп пользователей (показывать ли капчу зарегистрированным)</p> </td> </tr><tr><td><p>Standard Captcha Characters</p> </td> <td><p>Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в стандартном изображении Captcha</p> </td> </tr><tr><td><p>Math Captcha Characters</p> </td> <td><p>Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в Math изображения Captcha</p> </td> </tr><tr><td><p>TTF Символы</p> </td> <td><p>Числа, строчные буквы, символы верхнего регистра, которые будут отображаться в TTF изображения Captcha</p> </td> </tr><tr><td><p>TTF Captcha Characters</p> </td> <td><p>Для отображения ре-капчи, введите публичный код</p> </td> </tr><tr><td><p>reCAPTCHA Public Key</p> </td> <td><p>Установить рекапчи Public Key</p> </td> </tr><tr><td><p>Enable Akismet Spam Protection</p> </td> <td><p>(Нет | Да) Посылает все данные новой записи geustbook в Akismet - веб-сервис для проверки спама</p> </td> </tr><tr><td><p>Block Spam (Akismet)</p> </td> <td><p>(Нет | Да) Блокировать посты, которые не прошли проверку в Akismet</p> </td> </tr><tr><td> </td> <td><p>Установить Akismet API ключ, который необходимо использовать в Akismet-Spam. Получите ваш на https://akismet.com/signup/ бесплатно</p> </td> </tr><tr><td> </td> <td><p>Основной URL вашего сайта.(URL должен включать префикс http://)</p> </td> </tr><tr><td> </td> <td> </td> </tr><tr><td><p>Enable HTML Purifier</p> </td> <td><p>(Нет | Да) Включить или выключить HTML Purifier</p> </td> </tr><tr><td> </td> <td><p>Установить суффикс сессии (Это функция безопасности, чтобы изменить имя сессии, установите уникальный суффикс, например: a100b20c3)</p> </td> </tr><tr><td><p>Enable Hidden Field</p> </td> <td><p>(Нет | Да) Включить или выключить скрытые поля. Некоторые спам-ботов пытаются заполнить все поля на месте, если они заполняют это скрытое поле, которое человек не видит, запись не будет добавлена в гостевой книге.</p> </td> </tr><tr><td> </td> <td><p>(Да | Нет) Включить кэш.</p> </td> </tr><tr><td><p>Enable Detecting Incoming Page</p> </td> <td><p>(Да | Нет) Включить или выключить обнаружение входящих страниц. Это функция безопасности. Если вы включите её,то страницу, с которой пришел пост к гостевой книге, будет сохраняться и отображаться в интерфейсе.</p> </td> </tr></tbody></table> <p>Масштабное обновление программы XRumer, в котором значительно эволюционировала логика регистрации профилей на самых разных платформах, улучшена работа с платформами Bitrix, Joomla, WordPress Forum, MyBB, VBulletin, XenForo, добавлен механизм модификации отправляемого текста в зависимости от тематики сайта-реципиента (новый макрос #theme), обновлены и увеличены прилагаемые базы - общий объём превысил 8 миллионов сайтов, улучшена работа с HTTPS и Google ReCaptcha-2, и многое другое...</p> <i>26 января 2019 </i> <h3>XRumer 16.0.18 + SocPlugin 4.0.63</h3> <p>Прилагаемые базы проверены и обновлены, общий объём увеличен до 8 (!) миллионов поддерживаемых ресурсов — блогов, форумов, гостевых книг, досок, BBS, CMS, и прочих платформ. База известных тексткапч увеличена более чем на 2000 новых ответов на антибот-вопросы и теперь составляет 324000 тексткапч. Существенно повышена стабильность и скорость работы, оптимизирован расход ресурсов: потолок достигает до 500 и более потоков (в зависимости от режима работы). Улучшена работа с HTTPS. И основное, ключевое улучшение: многократно повышена эффективность рассылок личных сообщений — режим MassPM. Плюс, многие другие улучшения и исправления:)</p> <i>14 сентября 2018 </i> <h3>XRumer 16.0.17</h3> <p>Важное обновление XRumer, существенно оптимизирующее расход ресурсов. Повышена стабильность и скорость работы, увеличен потолок потоков. Теперь проход по многомиллионным базам более комфортен! Также улучшена работа с HTTPS, JavaScript, улучшена работа с платформой Joomla K2, и многое другое...</p> <i>05 июля 2018 </i> <p>Необходимо включить JavaScript для того, чтобы сайт работал корректно</p> <h1>Нововведения и улучшения в XRumer и SocPlugin<i>12 сентября 2014 </i></h1> <h3>Нововведения и улучшения в XRumer 12.0.7</h3> <h3>Нововведения и улучшения в SocPlugin 4.0.10</h3> <ul><li>в Автоответчике реализована поддержка Одноклассников</li> <li>обновлена функция комментирования видео на ВКонтакте</li> <li>скорректирована процедура сохранения базы анкет</li> <li>обновлён User-agent</li> <li>добавлена возможность копирования всех выделенных ссылок на анкеты в окне отображения списка анкет (а не только одной)</li> <li>реализована рандомизация каждой задержки в пределах ± 20%</li> <li>в окне списка групп добавлено выпадающее меню для управления списком: удаление, копирование, открытие в браузере</li> <li>улучшена информативность сообщений о проблемах с авторизацией</li> <li>скорректирована загрузка/сохранение списка пользователей из/в XML-файл</li> <li>скорректирована работа некоторых опций автонаполнения аккаунтов</li> <li>обновлено получение параметров анкет на Фэйсбуке</li> </ul> <p><i>Поисковая система Google (www.google.com) предоставляет множество возможностей для поиска. Все эти возможности – неоценимый инструмент поиска для пользователя впервые попавшего в Интернет и в то же время еще более мощное оружие вторжения и разрушения в руках людей с злыми намерениями, включая не только хакеров, но и некомпьютерных преступников и даже террористов. <br><b>(9475 просмотров за 1 неделю) </b> </i></p> <p>Денис Батранков<br> denisNOSPAMixi.ru</p> <p><b>Внимание: </b><i>Эта статья не руководство к действию. Эта статья написана для Вас, администраторы WEB серверов, чтобы у Вас пропало ложное ощущение, что Вы в безопасности, и Вы, наконец, поняли коварность этого метода получения информации и взялись за защиту своего сайта. </i></p> <h2>Введение</h2> <p>Я, например, за 0.14 секунд нашел 1670 страниц!</p> <p><b>2. </b> Введем другую строку, например:</p> <b> <a target="_blank" href="http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=inurl:%22auth_user_file.txt%22">inurl:"auth_user_file.txt"</a> </b> <p>немного меньше, но этого уже достаточно для свободного скачивания и для подбора паролей (при помощи того же John The Ripper). Ниже я приведу еще ряд примеров.</p> <p>Итак, Вам надо осознать, что поисковая машина Google посетила большинство из сайтов Интернет и сохранила в кэше информацию, содержащуюся на них. Эта кэшированная информация позволяет получить информацию о сайте и о содержимом сайта без прямого подключения к сайту, лишь копаясь в той информации, которая хранится внутри Google. Причем, если информация на сайте уже недоступна, то информация в кэше еще, возможно, сохранилась. Все что нужно для этого метода: знать некоторые ключевые слова Google. Этот технический прием называется Google Hacking.</p> <p>Впервые информация о Google Hacking появилась на рассылке Bugtruck еще 3 года назад. В 2001 году эта тема была поднята одним французским студентом. Вот ссылка на это письмо http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html . В нем приведены первые примеры таких запросов:</p> <p><b> 1) Index of /admin<br> 2) Index of /password<br> 3) Index of /mail<br> 4) Index of / +banques +filetype:xls (for france...)<br> 5) Index of / +passwd<br> 6) Index of / password.txt </b></p> <p>Нашумела эта тема в англо-читающей части Интернета совершенно недавно: после статьи Johnny Long вышедшей 7 мая 2004 года. Для более полного изучения Google Hacking советую зайти на сайт этого автора http://johnny.ihackstuff.com . В этой статье я лишь хочу ввести вас в курс дела.</p> <p>Кем это может быть использовано:<br> - Журналисты, шпионы и все те люди, кто любит совать нос не в свои дела, могут использовать это для поиска компромата.<br> - Хакеры, разыскивающие подходящие цели для взлома.</p> <h2>Как работает Google.</h2> <p>Для продолжения разговора напомню некоторые из ключевых слов, используемых в запросах Google.</p> <p><b>Поиск при помощи знака + </b></p> <p>Google исключает из поиска неважные, по его мнению, слова. Например вопросительные слова, предлоги и артикли в английском языке: например are, of, where. В русском языке Google, похоже, все слова считает важными. Если слово исключается из поиска, то Google пишет об этом. Чтобы Google начал искать страницы с этими словами перед ними нужно добавить знак + без пробела перед словом. Например:</p> <p><b> ace +of base </b></p> <p><b>Поиск при помощи знака – </b></p> <p>Если Google находит большое количество станиц, из которых необходимо исключить страницы с определенной тематикой, то можно заставить Google искать только страницы, на которых нет определенных слов. Для этого надо указать эти слова, поставив перед каждым знак – без пробела перед словом. Например:</p> <p><b> рыбалка -водка </b></p> <p><b>Поиск при помощи знака ~ </b></p> <p>Возможно, что вы захотите найти не только указанное слово, но также и его синонимы. Для этого перед словом укажите символ ~.</p> <p><b>Поиск точной фразы при помощи двойных кавычек </b></p> <p>Google ищет на каждой странице все вхождения слов, которые вы написали в строке запроса, причем ему неважно взаимное расположение слов, главное чтобы все указанные слова были на странице одновременно (это действие по умолчанию). Чтобы найти точную фразу – ее нужно взять в кавычки. Например:</p> <p><b> "подставка для книг" </b></p> <p>Чтобы было хоть одно из указанных слов нужно указать логическую операцию явно: OR. Например:</p> <p><b> книга безопасность OR защита </b></p> <p>Кроме того в строке поиска можно использовать знак * для обозначения любого слова и. для обозначения любого символа.</p> <p><b>Поиск слов при помощи дополнительных операторов </b></p> <p>Существуют поисковые операторы, которые указываются в строке поиска в формате:</p> <p><b> operator:search_term </b></p> <p>Пробелы рядом с двоеточием не нужны. Если вы вставите пробел после двоеточия, то увидите сообщение об ошибке, а перед ним, то Google будет использовать их как обычную строку для поиска.<br> Существуют группы дополнительных операторов поиска: языки - указывают на каком языке вы хотите увидеть результат, дата - ограничивают результаты за прошедшие три, шесть или 12 месяцев, вхождения - указывают в каком месте документа нужно искать строку: везде, в заголовке, в URL, домены - производить поиск по указанному сайту или наоборот исключить его из поиска, безопасный поиск - блокируют сайты содержащие указанный тип информации и удаляют их со страниц результатов поиска.<br> При этом некоторые операторы не нуждаются в дополнительном параметре, например запрос "<b>cache:www.google.com </b>" может быть вызван, как полноценная строка для поиска, а некоторые ключевые слова, наоборот, требуют наличия слова для поиска, например " <b>site:www.google.com help </b>". В свете нашей тематики посмотрим на следующие операторы:</p> <table border="1" cellpadding="0" cellspacing="0"><tr><td valign="top"><p><b> Оператор </b></p> </td> <td valign="top"><p><b> Описание </b></p> </td> <td valign="top"><p><b> Требует дополнительного параметра? </b></p> </td> </tr><tr><td valign="top"> </td> <td valign="top"><p>поиск только по указанному в search_term сайту</p> </td> <td valign="top"> </td> </tr><tr><td valign="top"> </td> <td valign="top"><p>поиск только в документах с типом search_term</p> </td> <td valign="top"> </td> </tr><tr><td valign="top"> </td> <td valign="top"> </td> <td valign="top"> </td> </tr><tr><td valign="top"> </td> <td valign="top"> </td> <td valign="top"> </td> </tr><tr><td valign="top"> </td> <td valign="top"><p>найти страницы, содержащие search_term в заголовке</p> </td> <td valign="top"> </td> </tr><tr><td valign="top"> </td> <td valign="top"><p>найти страницы, содержащие все слова search_term в заголовке</p> </td> <td valign="top"> </td> </tr><tr><td valign="top"> </td> <td valign="top"><p>найти страницы, содержащие слово search_term в своем адресе</p> </td> <td valign="top"> </td> </tr><tr><td valign="top"> </td> <td valign="top"><p>найти страницы, содержащие все слова search_term в своем адресе</p> </td> <td valign="top"> </td> </tr></table><p>Оператор <b>site: </b> ограничивает поиск только по указанному сайту, причем можно указать не только доменное имя, но и IP адрес. Например, введите:</p> <p>Оператор <b>filetype: </b> ограничивает поиск в файлах определенного типа. Например:</p> <p>На дату выхода статьи Googlе может искать внутри 13 различных форматов файлов:</p> <ul><li>Adobe Portable Document Format (pdf)</li> <li>Adobe PostScript (ps)</li> <li>Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)</li> <li>Lotus WordPro (lwp)</li> <li>MacWrite (mw)</li> <li>Microsoft Excel (xls)</li> <li>Microsoft PowerPoint (ppt)</li> <li>Microsoft Word (doc)</li> <li>Microsoft Works (wks, wps, wdb)</li> <li>Microsoft Write (wri)</li> <li>Rich Text Format (rtf)</li> <li>Shockwave Flash (swf)</li> <li>Text (ans, txt)</li> </ul><p>Оператор <b>link: </b> показывает все страницы, которые указывают на указанную страницу.<br> Наверно всегда интересно посмотреть, как много мест в Интернете знают о тебе. Пробуем:</p> <p>Оператор <b>cache: </b> показывает версию сайта в кеше Google, как она выглядела, когда Google последний раз посещал эту страницу. Берем любой, часто меняющийся сайт и смотрим:</p> <p>Оператор <b>intitle: </b> ищет указанное слово в заголовке страницы. Оператор <b>allintitle: </b> является расширением – он ищет все указанные несколько слов в заголовке страницы. Сравните:</p> <p><b> intitle:полет на марс<br> intitle:полет intitle:на intitle:марс<br> allintitle:полет на марс </b></p> <p>Оператор<b> inurl: </b>заставляет Google показать все страницы содержащие в URL указанную строку. Оператор allinurl: ищет все слова в URL. Например:</p> <p><b> allinurl:acid acid_stat_alerts.php </b></p> <p>Эта команда особенно полезна для тех, у кого нет SNORT – хоть смогут посмотреть, как он работает на реальной системе.</p> <h2>Методы взлома при помощи Google</h2> <p>Итак, мы выяснили что, используя комбинацию вышеперечисленных операторов и ключевых слов, любой человек может заняться сбором нужной информации и поиском уязвимостей. Эти технические приемы часто называют Google Hacking.</p> <h3>Карта сайта</h3> <p>Можно использовать оператор site: для просмотра всех ссылок, которые Google нашел на сайте. Обычно страницы, которые динамически создаются скриптами, при помощи параметров не индексируются, поэтому некоторые сайты используют ISAPI фильтры, чтобы ссылки были не в виде<b> /article.asp?num=10&dst=5 </b>, а со слешами <b>/article/abc/num/10/dst/5 </b>. Это сделано для того, чтобы сайт вообще индексировался поисковиками.</p> <p>Попробуем:</p> <p><b> site:www.whitehouse.gov whitehouse </b></p> <p>Google думает, что каждая страница сайта содержит слово whitehouse. Этим мы и пользуемся, чтобы получить все страницы.<br> Есть и упрощенный вариант:</p> <p><b> site:whitehouse.gov </b></p> <p>И что самое приятное - товарищи с whitehouse.gov даже не узнали, что мы посмотрели на структуру их сайта и даже заглянули в кэшированные странички, которые скачал себе Google. Это может быть использовано для изучения структуры сайтов и просмотра содержимого, оставаясь незамеченным до поры до времени.</p> <h3>Просмотр списка файлов в директориях</h3> <p>WEB серверы могут показывать списки директорий сервера вместо обычных HTML страниц. Обычно это делается для того, чтобы пользователи выбирали и скачивали определенные файлы. Однако во многих случаях у администраторов нет цели показать содержимое директории. Это возникает вследствие неправильной конфигурации сервера или отсутствия главной страницы в директории. В результате у хакера появляется шанс найти что-нибудь интересное в директории и воспользоваться этим для своих целей. Чтобы найти все такие страницы, достаточно заметить, что все они содержат в своем заголовке слова: index of. Но поскольку слова index of содержат не только такие страницы, то нужно уточнить запрос и учесть ключевые слова на самой странице, поэтому нам подойдут запросы вида:</p> <p><b>intitle:index.of parent directory<br> intitle:index.of name size </b></p> <p>Поскольку в основном листинги директорий сделаны намеренно, то вам, возможно, трудно будет найти ошибочно выведенные листинги с первого раза. Но, по крайней мере, вы уже сможете использовать листинги для определения версии WEB сервера, как описано ниже.</p> <h3>Получение версии WEB сервера.</h3> <p>Знание версии WEB сервера всегда полезно перед началом любой атака хакера. Опять же благодаря Google можно получить эту информацию без подключения к серверу. Если внимательно посмотреть на листинг директории, то можно увидеть, что там выводится имя WEB сервера и его версия.</p> <p><b> Apache1.3.29 - ProXad Server at trf296.free.fr Port 80 </b></p> <p>Опытный администратор может подменить эту информацию, но, как правило, она соответствует истине. Таким образом, чтобы получить эту информацию достаточно послать запрос:</p> <p><b> intitle:index.of server.at </b></p> <p>Чтобы получить информацию для конкретного сервера уточняем запрос:</p> <p><b> intitle:index.of server.at site:ibm.com </b></p> <p>Или наоборот ищем сервера работающие на определенной версии сервера:</p> <p><b> intitle:index.of Apache/2.0.40 Server at </b></p> <p>Эта техника может быть использована хакером для поиска жертвы. Если у него, к примеру, есть эксплойт для определенной версии WEB сервера, то он может найти его и попробовать имеющийся эксплойт.</p> <p>Также можно получить версию сервера, просматривая страницы, которые по умолчанию устанавливаются при установке свежей версии WEB сервера. Например, чтобы увидеть тестовую страницу Apache 1.2.6 достаточно набрать</p> <p><b> intitle:Test.Page.for.Apache it.worked! </b></p> <p>Мало того, некоторые операционные системы при установке сразу ставят и запускают WEB сервер. При этом некоторые пользователи даже об этом не подозревают. Естественно если вы увидите, что кто-то не удалил страницу по умолчанию, то логично предположить, что компьютер вообще не подвергался какой-либо настройке и, вероятно, уязвим для атак.</p> <p>Попробуйте найти страницы IIS 5.0</p> <p><b>allintitle:Welcome to Windows 2000 Internet Services </b></p> <p>В случае с IIS можно определить не только версию сервера, но и версию Windows и Service Pack.</p> <p>Еще одним способом определения версии WEB сервера является поиск руководств (страниц подсказок) и примеров, которые могут быть установлены на сайте по умолчанию. Хакеры нашли достаточно много способов использовать эти компоненты, чтобы получить привилегированный доступ к сайту. Именно поэтому нужно на боевом сайте удалить эти компоненты. Не говоря уже о том, что по наличию этих компонентов можно получить информацию о типе сервера и его версии. Например, найдем руководство по apache:</p> <p><b> inurl:manual apache directives modules </b></p> <h3>Использование Google как CGI сканера.</h3> <p>CGI сканер или WEB сканер – утилита для поиска уязвимых скриптов и программ на сервере жертвы. Эти утилиты должны знать что искать, для этого у них есть целый список уязвимых файлов, например:</p> <p><b> /cgi-bin/cgiemail/uargg.txt<br> /random_banner/index.cgi<br> /random_banner/index.cgi<br> /cgi-bin/mailview.cgi<br> /cgi-bin/maillist.cgi<br> /cgi-bin/userreg.cgi<br><br> /iissamples/ISSamples/SQLQHit.asp<br> /SiteServer/admin/findvserver.asp<br> /scripts/cphost.dll<br> /cgi-bin/finger.cgi </b></p> <p>Мы может найти каждый из этих файлов с помощью Google, используя дополнительно с именем файла в строке поиска слова index of или inurl: мы можем найти сайты с уязвимыми скриптами, например:</p> <p><b> allinurl:/random_banner/index.cgi </b></p> <p>Пользуясь дополнительными знаниями, хакер может использовать уязвимость скрипта и с помощью этой уязвимости заставить скрипт выдать любой файл, хранящийся на сервере. Например файл паролей.</p> <h2>Как защитить себя от взлома через Google.</h2> <h4>1. Не выкладывайте важные данные на WEB сервер.</h4> <p>Даже если вы выложили данные временно, то вы можете забыть об этом или кто-то успеет найти и забрать эти данные пока вы их не стерли. Не делайте так. Есть много других способов передачи данных, защищающих их от кражи.</p> <h4>2. Проверьте свой сайт.</h4> <p>Используйте описанные методы, для исследования своего сайта. Проверяйте периодически свой сайт новыми методами, которые появляются на сайте http://johnny.ihackstuff.com . Помните, что если вы хотите автоматизировать свои действия, то нужно получить специальное разрешение от Google. Если внимательно прочитать <a target="_blank" href="http://www.google.com/terms_of_service.html">http://www.google.com/terms_of_service.html</a> , то вы увидите фразу: You may not send automated queries of any sort to Google"s system without express permission in advance from Google.</p> <h4>3. Возможно, вам не нужно чтобы Google индексировал ваш сайт или его часть.</h4> <p>Google позволяет удалить ссылку на свой сайт или его часть из своей базы, а также удалить страницы из кэша. Кроме того вы можете запретить поиск изображений на вашем сайте, запретить показывать короткие фрагменты страниц в результатах поиска Все возможности по удалению сайта описаны на сранице <a target="_blank" href="http://www.google.com/remove.html">http://www.google.com/remove.html</a> . Для этого вы должны подтвердить, что вы действительно владелец этого сайта или вставить на страницу теги или</p> <h4>4. Используйте robots.txt</h4> <p>Известно, что поисковые машины заглядывают в файл robots.txt лежащий в корне сайта и не индексируют те части, которые помечены словом <b>Disallow </b>. Вы можете воспользоваться этим, для того чтобы часть сайта не индексировалась. Например, чтобы не индексировался весь сайт, создайте файл robots.txt содержащий две строчки:</p> <p><b> User-agent: *<br> Disallow: / </b></p> <h2>Что еще бывает</h2> <p>Чтобы жизнь вам медом не казалась, скажу напоследок, что существуют сайты, которые следят за теми людьми, которые, используя вышеизложенные выше методы, разыскивают дыры в скриптах и WEB серверах. Примером такой страницы является</p> <h2>Приложение.</h2> <p>Немного сладкого. Попробуйте сами что-нибудь из следующего списка:</p> <p>1. #mysql dump filetype:sql - поиск дампов баз данных mySQL<br> 2. Host Vulnerability Summary Report - покажет вам какие уязвимости нашли другие люди<br> 3. phpMyAdmin running on inurl:main.php - это заставит закрыть управление через панель phpmyadmin<br> 4. not for distribution confidential <br> 5. Request Details Control Tree Server Variables <br> 6. Running in Child mode <br> 7. This report was generated by WebLog <br> 8. intitle:index.of cgiirc.config <br> 9. filetype:conf inurl:firewall -intitle:cvs – может кому нужны кофигурационные файлы файрволов? :)<br> 10. intitle:index.of finances.xls – мда.... <br> 11. intitle:Index of dbconvert.exe chats – логи icq чата<br> 12. intext:Tobias Oetiker traffic analysis<br> 13. intitle:Usage Statistics for Generated by Webalizer<br> 14. intitle:statistics of advanced web statistics<br> 15. intitle:index.of ws_ftp.ini – конфиг ws ftp <br> 16. inurl:ipsec.secrets holds shared secrets – секретный ключ – хорошая находка<br> 17. inurl:main.php Welcome to phpMyAdmin <br> 18. inurl:server-info Apache Server Information <br> 19. site:edu admin grades <br> 20. ORA-00921: unexpected end of SQL command – получаем пути<br> 21. intitle:index.of trillian.ini<br> 22. intitle:Index of pwd.db<br> 23. intitle:index.of people.lst<br> 24. intitle:index.of master.passwd<br> 25. inurl:passlist.txt<br> 26. intitle:Index of .mysql_history<br> 27. intitle:index of intext:globals.inc<br> 28. intitle:index.of administrators.pwd<br> 29. intitle:Index.of etc shadow<br> 30. intitle:index.of secring.pgp<br> 31. inurl:config.php dbuname dbpass<br> 32. inurl:perform filetype:ini </p><li>"Hacking mit Google"</li> <span> <p>Учебный центр "Информзащита" http://www.itsecurity.ru - ведущий специализированный центр в области обучения информационной безопасности (Лицензия Московского Комитета образования № 015470, Государственная аккредитация № 004251). Единственный авторизованный учебный центр компаний Internet Security Systems и Clearswift на территории России и стран СНГ. Авторизованный учебный центр компании Microsoft (специализация Security). Программы обучения согласованы с Гостехкомиссией России, ФСБ (ФАПСИ). Свидетельства об обучении и государственные документы о повышении квалификации.</p><p>Компания SoftKey – это уникальный сервис для покупателей, разработчиков, дилеров и аффилиат–партнеров. Кроме того, это один из лучших Интернет-магазинов ПО в России, Украине, Казахстане, который предлагает покупателям широкий ассортимент, множество способов оплаты, оперативную (часто мгновенную) обработку заказа, отслеживание процесса выполнения заказа в персональном разделе, различные скидки от магазина и производителей ПО.</p> </span> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy>");</script> </div> <span style="display:none" class="updated">2016-05-11</span> <div class="clear"></div> </div> </article> <div class="post-navigation"> <div class="post-previous"> <a href="/earnings/upravlenie-kompyuterom-bez-ruk-giroskop-mne-v-temya-s-chem-sovmestimy.html" rel="prev"><span>Предыдущий</span> Управление компьютером без рук (гироскоп мне в темя!</a> <!-- /next_post --></div> <div class="post-next"> <a href="/social-network/propadaet-signal-seti-samsung-s4-samsung-galaxy-teryaet-set-reshenie-zabudte-o.html" rel="next"><span>Следующий</span> Samsung Galaxy теряет сеть — решение</a> <!-- /next_post --></div> </div> <section id="related_posts"> <div class="block-head"> <h3>Похожие публикации</h3> <div class="stripe-line"></div> </div> <div class="post-listing"> <div class="related-item"> <div class="post-thumbnail"> <a href="/browsing-the-internet/kak-pereproshit-m-rtvye-telefony-nokia-s-pomoshchyu-programmy-phoenix-usb-proshivka.html"> <img width="310" height="165" src="/uploads/25e5ff20a99519fa4f02e81bc7e07009.jpg" class="attachment-tie-medium wp-post-image" alt="USB-прошивка «мертвых» телефонов Nokia через программу Phoenix Приступаем к установке программ" / loading=lazy> <span class="fa overlay-icon"></span> </a> </div> <h3><a href="/browsing-the-internet/kak-pereproshit-m-rtvye-telefony-nokia-s-pomoshchyu-programmy-phoenix-usb-proshivka.html" rel="bookmark">USB-прошивка «мертвых» телефонов Nokia через программу Phoenix Приступаем к установке программ</a></h3> <p class="post-meta"><span class="tie-date"><i class="fa fa-clock-o"></i>2024-04-22 02:38:29</span></p> </div> <div class="related-item"> <div class="post-thumbnail"> <a href="/facebook/kak-vybrat-ochki-virtualnoi-realnosti-chto-takoe-shlem-virtualnoi.html"> <img width="310" height="165" src="/uploads/3d65d33c928cdce65a248deb47aa6c8c.jpg" class="attachment-tie-medium wp-post-image" alt="Что такое Шлем виртуальной реальности?" / loading=lazy> <span class="fa overlay-icon"></span> </a> </div> <h3><a href="/facebook/kak-vybrat-ochki-virtualnoi-realnosti-chto-takoe-shlem-virtualnoi.html" rel="bookmark">Что такое Шлем виртуальной реальности?</a></h3> <p class="post-meta"><span class="tie-date"><i class="fa fa-clock-o"></i>2024-04-21 02:42:38</span></p> </div> <div class="related-item"> <div class="post-thumbnail"> <a href="/master-pc/privodyashchie-k-poyavleniyu-bsod-sinego-chto-delat-esli-sinii-ekran-smerti-windows.html"> <img width="310" height="165" src="/uploads/835ad1b63767db8ff4ec3822b65f8f03.jpg" class="attachment-tie-medium wp-post-image" alt="Что делать, если синий экран смерти Windows" / loading=lazy> <span class="fa overlay-icon"></span> </a> </div> <h3><a href="/master-pc/privodyashchie-k-poyavleniyu-bsod-sinego-chto-delat-esli-sinii-ekran-smerti-windows.html" rel="bookmark">Что делать, если синий экран смерти Windows</a></h3> <p class="post-meta"><span class="tie-date"><i class="fa fa-clock-o"></i>2024-04-21 02:42:38</span></p> </div> </div> </section> <script type="text/javascript"> document.getElementById('hc_full_comments').innerHTML = ''; </script> </div> <aside id="sidebar"> <div class="theiaStickySidebar"> </div> </aside> <div class="clear"></div> </div> <div class="e3lan e3lan-bottom"> </div> <footer id="theme-footer"> <div id="footer-widget-area" class="wide-left-3c"> </div> <div class="clear"></div> </footer> <div class="clear"></div> <div class="footer-bottom"> <div class="container"> <div class="alignright"> </div> <div class="social-icons"> <a class="ttip-none" title="Google+" href="" target="_blank"><i class="fa fa-google-plus"></i></a><a class="ttip-none" title="Twitter" href="https://www.twitter.com/share?url=https://sushiandbox.ru/browsing-the-internet/kulbaba-inurl-sign-guestbook-asp.html" target="_blank"><i class="fa fa-twitter"></i></a> <a class="ttip-none" title="vk.com" href="https://vk.com/share.php?url=https://sushiandbox.ru/browsing-the-internet/kulbaba-inurl-sign-guestbook-asp.html" target="_blank"><i class="fa fa-vk"></i></a> </div> <div class="alignleft"> © Copyright 2024, Осваиваем ПК - Интернет. Скайп. Социальные сети. Уроки по Windows </div> <div class="clear"></div> </div> </div> </div> </div> </div> <div id="topcontrol" class="fa fa-angle-up" title="Прокрутить Вверх"></div> <div id="fb-root"></div> <div id="reading-position-indicator"></div> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/plugins/CodeCanyon-Arqamv2.0.4-RetinaResponsiveWordPressSocialCounterPlugin-5085289/assets/js/scripts.js'></script> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/plugins/ark-hidecommentlinks/js/ark-hidecommentlinks.js'></script> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/plugins/ark-hidecommentlinks/js/pcl_tooltip.js'></script> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/plugins/ark-hidecommentlinks/js/pcl_tooltip_init.js'></script> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js'></script> <script type='text/javascript' src='/assets/scripts1.js'></script> <script type='text/javascript'> /* <![CDATA[ */ var tie = { "mobile_menu_active": "true", "mobile_menu_top": "", "lightbox_all": "true", "lightbox_gallery": "true", "woocommerce_lightbox": "", "lightbox_skin": "dark", "lightbox_thumb": "vertical", "lightbox_arrows": "", "sticky_sidebar": "1", "is_singular": "1", "SmothScroll": "true", "reading_indicator": "true", "lang_no_results": "\u041d\u0435\u0442 \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b", "lang_results_found": "\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043d\u0430\u0439\u0434\u0435\u043d\u043e" }; /* ]]> */ </script> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/themes/sahifa/js/tie-scripts.js'></script> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/themes/sahifa/js/ilightbox.packed.js'></script> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/themes/sahifa/js/search.js'></script> <script type='text/javascript' src='https://sushiandbox.ru/wp-content/themes/sahifa/js/jquery.cycle.all.js'></script> </body> </html>