Apathetic details archive php. What is a web archive and why is it needed?


Every site is a story that has a beginning and an end. But how to trace the stages of a project’s formation, its life cycle? For these purposes, there is a special service called a web archive. In this article we will talk about the presentation of such resources, their use and capabilities.

What is a web archive and why is it needed?

A web archive is a specialized site that is designed to collect information about various Internet resources. The robot saves copies of projects automatically and manually, everything depends only on the site and the data collection system.

Currently, there are several dozen sites with similar mechanics and tasks. Some of them are considered private, others are non-profit projects open to the public. The resources also differ from each other in the frequency of visits, the completeness of the information stored and the possibilities of using the received history.

As some experts note, information flow storage pages are considered an important component of Web 2.0. That is, part of the ideology of the development of the Internet, which is in constant evolution. The collection mechanics are very mediocre, but there are no more advanced methods or analogues. Using a web archive, you can solve several problems: tracking information over time, restoring a lost site, searching for information.

How to use web archive?


As noted above, a web archive is a site that provides a certain kind of search service in history. To use the project, you must:

  1. Go to a specialized resource (for example, web.archive.org).
  2. Enter information for the search in the special field. This could be a domain name or a keyword.
  3. Get relevant results. This will be one or more sites, each of which has a fixed crawl date.
  4. By clicking on a date, go to the corresponding resource and use the information for personal purposes.

We’ll talk about specialized sites for searching for historical records of projects later, so stay with us.

Projects that provide site history


Today there are several projects that provide services for finding saved copies. Here are some of them:

  1. The most popular and in demand among users is web.archive.org. The presented site is considered the oldest on the Internet; its creation dates back to 1996. The service collects data automatically and manually, and all information is hosted on huge foreign servers.
  2. The second most popular site is peeep.us. The resource is very interesting, because it can be used to save a copy of the information flow that is accessible only to you. Note that the project works with all domain names and expands the boundaries of the use of web archives. As for the completeness of the information, the presented site does not save pictures and frames. Since 2015, it has also been included in the list of prohibited products in Russia.
  3. A similar project to the one described above is archive.is. The differences include the completeness of information collection, as well as the ability to save pages from social networks. Therefore, if you have lost a post or interesting information, you can search through the web archive.

Possibility of using web archives

Now everyone knows what a web archive is and what sites provide services for saving copies of projects. But many still do not understand how to use the information presented. The capabilities of archival data are expressed as follows:

  1. Choosing a domain name. It's no secret that many webmasters use already upgraded domains. It is worth understanding that experienced users track not only target parameters, but also the history of previous use. Every network user wants to know what they are purchasing: whether there were previously prohibitions or sanctions, whether the project was subject to filters.
  2. Restoring a site from archives. Sometimes a disaster happens that threatens the existence of your own project. The lack of timely backups in the hosting profile and an accidental error can lead to tragedy. If this happens, don’t be upset, because you can use the web archive. We'll talk about the recovery process below.
  3. Search for unique content. Every day, sites filled with content die on the Internet. This happens with particular consistency, which is why a huge flow of information is lost. Over time, such pages fall out of the index, and a resourceful webmaster can borrow the information for a personal project. Of course, there is a search problem, but that is a secondary concern.

We've looked at the main features that web archives provide, now it's time to move on to a more detailed study of individual elements.

Restoring a website from a web archive

No one is immune from problems with websites. Most of them are solved using backups. But what if there is no saved copy on the hosting server? Use the web archive. To do this you should:

  1. Go to the specialized resource we talked about earlier.
  2. Enter your own domain name into the search bar and open the project in a new window.
  3. Choose the most successful photo, which is located closer to the problem date and has a full-fledged view.
  4. Fix internal links to direct ones. To do this, use the link “http://web.archive.org/web/any_sequence_number_id_/Site name”.
  5. Copy lost information or design data to be used for recovery.

Note that the process is somewhat tedious, given the speed of the archive. Therefore, we recommend that owners of large web resources make backups more often, which will save time and nerves.

We are looking for unique content for our own website


Some webmasters use an interesting way to obtain new content that no one needs. Every day hundreds of sites go into oblivion, and information is lost along with them. To become a content owner, you need to do the following:

  1. Enter URL
    https://www.nic.ru/auction/forbuyer/download_list.shtml#buying in the search bar.
  2. On the domain name auction website, download files with the name ru.
  3. Open the received files using Excel and begin selection based on the availability of design information.
  4. Enter the projects found in the list on the web archive search page.
  5. Open the snapshot and access the information flow.

We recommend monitoring content for plagiarism, this will allow you to find truly worthy texts. And that's all! Now everyone knows about the possibilities and methods of using a web archive. Use knowledge wisely and profitably.

The Internet Archive offers over 15,000,000 freely downloadable books and texts. There is also a collection of that may be borrowed by anyone with a free site account.

Alternatively, our portable Table Top Scanner can also be purchased and used on-site within libraries and archives. To read more about our TT Scribe, please visit.

Since 2005, the Internet Archive has collaborated and built digital collections with over 1,100 Library Institutions and other content providers. Partnerships include: , the and the . These collections are digitized from various mediatypes including: , and a wide variety of . Significant contributions have come from partners in North America ( and Libraries), and , representing more than 184 languages.


The Internet Archive encourages our global community to contribute physical items, as well as uploading digital materials directly to the Internet Archive. If you have digital items that you would like to add to the Internet Archive, please a new item using the uploader interface. Click here to apply the specific creative commons license Creative Commons license to communicate how the material can be used.

For donation of physical books or items, please contact info@site


Free to read, download, print, and enjoy. Some have restrictions on bulk re-use and commercial use, please see the collection or the sponsor of a book. By providing near-unrestricted access to these texts, we hope to encourage widespread use of texts in new contexts by people who might not have used them before.

When you need to quickly download website sources from a server, even a relatively fast SSH tunnel does not provide the required speed. And you have to wait for a very, very long time. And many hosting providers do not provide this access, but force you to settle for FTP, which is many times slower.

For myself personally, I have identified a way out. A small script is uploaded to the server and launched. After some time, we receive an archive with all the sources. And one file, even via ancient FTP, downloads much faster than a hundred small ones.

Previously on the pages of this blog, the zipArchive library. However, then it was a question of unpacking the archive.

First, we need to find out if the server supports zipArchive. This popular library is installed on the vast majority of hosting sites.

The library is strictly limited by php and server parameters. Huge databases and photo banks cannot be archived. Even the bases of the good old 1C program for accounting. It would seem that they should only contain text data. But no.

I advise you to use the library only when archiving relatively small sites with a huge number of small files.

Let's check if the library is available to work with

If (!extension_loaded("zip")) ( return false; )

If all is well, the script will continue executing further.

A small offtopic for such checks. Checks should be done this way, avoiding large structures with nested parentheses. This way the code will be more atomic and easier to debug. Compare

If(a==b)( if(c==d)( if(e==f)( echo "All conditions met"; )else echo "e<>f"; )else echo "c<>d"; )else echo "a<>b;

and this code

If(a!=b) exit("a<>b); if(c!=d) exit("c<>d); if(e!=f) exit("e<>f); echo "All conditions met";

The code is nicer and does not grow into huge nested structures.

Sorry for being off-topic, but I wanted to share this find.

Now let's create an object and an archive.

$zip = new ZipArchive(); if (!$zip->open($destination, ZIPARCHIVE::CREATE)) ( return false; )

where $destination is the full path to the archive. If the archive has already been created, then the files will be added to it.

$zip->addEmptyDir(str_replace($source . "/", "", $file . "/"));

where $source is the full path to our category (which we initially archived), $file is the full path to the current folder. This is done so that the archive does not contain full paths, but only relative ones.

Adding a file works in a similar way, but you need to read it into a string first.

$zip->addFromString(str_replace($source . "/", "", $file), file_get_contents($file));

At the end you need to close the archive.

Return $zip->close();

I don’t think there’s any need to explain how to go through all the files and subdirectories in a folder. Google it, something like Recursive traversal of folders in php

This option suited me

Function Zip($source, $destination)( if (!extension_loaded("zip") || !file_exists($source)) ( return false; ) $zip = new ZipArchive(); if (!$zip->open( $destination, ZIPARCHIVE::CREATE)) ( return false; ) $source = str_replace("\\", "/", realpath($source)); if (is_dir($source) === true)( $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file)( $file = str_replace("\\", "/", $file); // Ignore "." and ".." folders if(in_array(substr($file, strrpos($file, "/")+1), array(".", ".."))) continue; $file = realpath($file ); $file = str_replace("\\", "/", $file); if (is_dir($file) === true)( $zip->addEmptyDir(str_replace($source . "/", "" , $file . "/")); )else if (is_file($file) === true)( $zip->addFromString(str_replace($source . "/", "", $file), file_get_contents($ file)); ) ) )else if (is_file($source) === true)( $zip->addFromString(basename($source), file_get_contents($source)); ) return $zip->close(); )

Here are the most important news items we have published in 2007 on the site.

Security Enhancements and Fixes in PHP 5.2.5:

  • Fixed dl() to only accept filenames. Reported by Laurent Gaffie.
  • Fixed dl() to limit argument size to MAXPATHLEN (CVE-2007-4887). Reported by Laurent Gaffie.
  • Fixed htmlentities/htmlspecialchars not to accept partial multibyte sequences. Reported by Rasmus Lerdorf
  • Fixed possible triggering of buffer overflows inside glibc implementations of the fnmatch(), setlocale() and glob() functions. Reported by Laurent Gaffie.
  • Fixed "mail.force_extra_parameters" php.ini directive not to be modifiable in .htaccess due to the security implications. Reported by SecurityReason.
  • Fixed bug #42869 (automatic session id insertion adds sessions id to non-local forms).
  • Fixed bug #41561 (Values ​​set with php_admin_* in httpd.conf can be overwritten with ini_set()).

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available, detailing the changes between those releases and PHP 5.2.5.

Security Enhancements and Fixes in PHP 5.2.4:

  • Fixed a floating point exception inside wordwrap() (Reported by Mattias Bengtsson)
  • Fixed several integer overflows inside the GD extension (Reported by Mattias Bengtsson)
  • Fixed size calculation in chunk_split() (Reported by Gerhard Wagner)
  • Fixed integer overflow in str[c]spn(). (Reported by Mattias Bengtsson)
  • Fixed money_format() not to accept multiple %i or %n tokens. (Reported by Stanislav Malyshev)
  • Fixed zend_alter_ini_entry() memory_limit interruption vulnerability. (Reported by Stefan Esser)
  • Fixed INFILE LOCAL option handling with MySQL extensions not to be allowed when open_basedir or safe_mode is active. (Reported by Mattias Bengtsson)
  • Fixed session.save_path and error_log values ​​to be checked against open_basedir and safe_mode (CVE-2007-3378) (Reported by Maksymilian Arciemowicz)
  • Fixed a possible invalid read in glob() win32 implementation (CVE-2007-3806) (Reported by shinnai)
  • Fixed a possible buffer overflow in php_openssl_make_REQ (Reported by zatanzlatan at hotbrev dot com)
  • Fixed an open_basedir bypass inside glob() function (Reported by dr at peytz dot dk)
  • Fixed a possible open_basedir bypass inside session extension when the session file is a symlink (Reported by c dot i dot morris at durham dot ac dot uk)
  • Improved fix for MOPB-03-2007.
  • Corrected fix for CVE-2007-2872.

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available, detailing the changes between those releases and PHP 5.2.4.

Security Enhancements and Fixes in PHP 5.2.3:

  • Fixed an integer overflow inside chunk_split() (by Gerhard Wagner, CVE-2007-2872)
  • Fixed possible infinite loop in imagecreatefrompng. (by Xavier Roche, CVE-2007-2756)
  • Fixed ext/filter Email Validation Vulnerability (MOPB-45 by Stefan Esser, CVE-2007-1900)
  • Fixed bug #41492 (open_basedir/safe_mode bypass inside realpath()) (by bugs dot php dot net at chsc dot dk)
  • Improved fix for CVE-2007-1887 to work with non-bundled sqlite2 lib.
  • Added mysql_set_charset() to allow runtime altering of connection encoding.

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available, detailing the changes between those releases and PHP 5.2.3.

Security Enhancements and Fixes in PHP 5.2.2 and PHP 4.4.7:

  • Fixed CVE-2007-1001, GD wbmp used with invalid image size (by Ivan Fratric)
  • Fixed asciiz byte truncation inside mail() (MOPB-33 by Stefan Esser)
  • Fixed a bug in mb_parse_str() that can be used to activate register_globals (MOPB-26 by Stefan Esser)
  • Fixed unallocated memory access/double free in array_user_key_compare() (MOPB-24 by Stefan Esser)
  • Fixed a double free inside session_regenerate_id() (MOPB-22 by Stefan Esser)
  • Added missing open_basedir & safe_mode checks to zip:// and bzip:// wrappers. (MOPB-21 by Stefan Esser).
  • Fixed CRLF injection inside ftp_putcmd(). (by loveshellBug.Center.Team)
  • Fixed a remotely trigger-able buffer overflow inside bundled libxmlrpc library. (by Stanislav Malyshev)

Security Enhancements and Fixes in PHP 5.2.2 only:

  • Fixed a header injection via Subject and To parameters to the mail() function (MOPB-34 by Stefan Esser)
  • Fixed wrong length calculation in unserialize S type (MOPB-29 by Stefan Esser)
  • Fixed substr_compare and substr_count information leak (MOPB-14 by Stefan Esser) (Stas, Ilia)
  • Fixed a remotely trigger-able buffer overflow inside make_http_soap_request(). (by Ilia Alshanetsky)
  • Fixed a buffer overflow inside user_filter_factory_create(). (by Ilia Alshanetsky)
  • Fixed a possible super-global overwrite inside import_request_variables(). (by Stefano Di Paola, Stefan Esser)
  • Limit nesting level of input variables with max_input_nesting_level as fix for (MOPB-03 by Stefan Esser)

Security Enhancements and Fixes in PHP 4.4.7 only:

  • XSS in phpinfo() (MOPB-8 by Stefan Esser)

While the majority of the issues outlined above are local, in some circumstances given specific code paths they can be triggered externally. Therefor, we strongly recommend that if you use code utilizing the functions and extensions identified as having had vulnerabilities in them, you consider upgrading your PHP.

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available, detailing the changes between those releases and PHP 5.2.2.

Update: May 4th; The PHP 4.4.7 Windows build was updated due to the faulty Apache2 module shipped with the original

Update: May 23rd; By accident a couple of fixes where listed as fixed in both PHP 5.2.2 and 4.4.7 but where however only fixed in PHP 5.2.2. The PHP 4 ChangeLog was not affected.

The main issue that this release addresses is a crash problem that was introduced in PHP 4.4.5. The problem occurs when session variables are used while register_globals is enabled.

Details about the PHP 4.4.6 release can be found in the release announcement for 4.4.6, the full list of changes is available in the ChangeLog for PHP 4.

Security Enhancements and Fixes in PHP 5.2.1 and PHP 4.4.5:

  • Fixed possible safe_mode & open_basedir bypasses inside the session extension.
  • Fixed unserialize() abuse on 64 bit systems with certain input strings.
  • Fixed possible overflows and stack corruptions in the session extension.
  • Fixed an underflow inside the internal sapi_header_op() function.
  • Fixed non-validated resource destruction inside the shmop extension.
  • Fixed a possible overflow in the str_replace() function.
  • Fixed possible clobbering of super-globals in several code paths.
  • Fixed a possible information disclosure inside the wddx extension.
  • Fixed a possible string format vulnerability in *print() functions on 64 bit systems.
  • Fixed a possible buffer overflow inside ibase_(delete,add,modify)_user() functions.
  • Fixed a string format vulnerability inside the odbc_result_all() function.

Security Enhancements and Fixes in PHP 5.2.1 only:

  • Prevent search engines from indexing the phpinfo() page.
  • Fixed a number of input processing bugs inside the filter extension.
  • Fixed allocation bugs caused by attempts to allocate negative values ​​in some code paths.
  • Fixed possible stack/buffer overflows inside zip, imap & sqlite extensions.
  • Fixed several possible buffer overflows inside the stream filters.
  • Memory limit is now enabled by default.
  • Added internal heap protection.
  • Extended filter extension support for $_SERVER in CGI and apache2 SAPIs.

Security Enhancements and Fixes in PHP 4.4.5 only:

  • Fixed possible overflows inside zip & imap extensions.
  • Fixed a possible buffer overflow inside mail() function on Windows.
  • Unbundled the ovrimos extension.

The majority of the security vulnerabilities discovered and resolved can in most cases be only abused by local users and cannot be triggered remotely. However, some of the above issues can be triggered remotely in certain situations, or exploited by malicious local users on shared hosting setups utilizing PHP as an Apache module. Therefore, we strongly advise all users of PHP, regardless of the version to upgrade to the 5.2.1 or 4.4.5 releases as soon as possible.

For users upgrading to PHP 5.2 from PHP 5.0 and PHP 5.1, an upgrade guide is available, detailing the changes between those releases and PHP 5.2.1.

Update: Feb 14th; Added release information for PHP 4.4.5.

Update: Feb 12th; The Windows install package had problems with upgrading from previous PHP versions. That has now been fixed and new file posted in the download section.

The front page has changed

The news on the front page of the site has changed, the conference announcements are now located on their own page. The idea is to keep the site specific news clear and also opens the door for additional news entries, like for RC releases. More changes are on the way so keep an eye out.

PHP Québec is pleased to announce the fifth edition of the PHP Québec Conference. The conference will take place in Montréal, Canada on March 14-15-16th 2007. It features 2 days of technicals talks and an additional day of workshop. Among the speakers, the well know PHP experts such has: Rasmus Lerdorf, Andrei Zmievski, Derick Rethans, Ilia Alshanetsky, John Coggeshall, Damien Séguy, and many more.

The conference has three distinct tracks: Advanced Techniques, Data Availability, PHP: Beyond Theory. With over 35 sessions and workshops, the PHP Québec Conference is a great opportunity to learn about the latest development and professional techniques to help you build high quality PHP software and meet with PHP.







2024 gtavrl.ru.