php 7.1 منتشر شد

php 7.1 منتشر شد
php 7.1 منتشر شد

در روز جمعه، تیم توسعه دهنده php بصورت رسمی PHP 7.1 را منتشر کرد.
در نسخه php 7.1.0 تغییراتی در nullable types ، class constant visibility ، void return types شاهد بودیم.
همینطور مانند قبل تیم توسعه دهنده php روی بهبود سرعت php در این نسخه تمرکز کرده است.

php7-1
آخرین تغییرات به شرح زیر می باشد:

Added nullable types.
Added DFA optimization framework based on e-SSA form.
Added specialized opcode handlers (e.g. ZEND_ADD_LONG_NO_OVERFLOW).
Added [] = as alternative construct to list() =.
Added void return type.
Added support for negative string offsets in string offset syntax and various string functions.
Added a form of the list() construct where keys can be specified.
Implemented safe execution timeout handling, that prevents random crashes after “Maximum execution time exceeded” error.
Implemented the RFC `Support Class Constant Visibility`.
Implemented the RFC `Catching multiple exception types`.
Implemented logging to syslog with dynamic error levels.
Implemented FR #72614 (Support “nmake test” on building extensions by phpize).
Implemented RFC: Iterable.
Implemented RFC: Closure::fromCallable (Danack)
Implemented RFC: Replace “Missing argument” warning with “\ArgumentCountError” exception.
Implemented RFC: Fix inconsistent behavior of $this variable.
Fixed bug #73585 (Logging of “Internal Zend error – Missing class information” missing class name).
Fixed memory leak(null coalescing operator with Spl hash).
Fixed bug #72736 (Slow performance when fetching large dataset with mysqli / PDO).
Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine overflow).
Fixed bug #72696 (imagefilltoborder stackoverflow on truecolor images).
Fixed bug #73350 (Exception::__toString() cause circular references).
Fixed bug #73329 ((Float)”Nano” == NAN).
Fixed bug #73288 (Segfault in __clone > Exception.toString > __get).
Fixed for #73240 (Write out of bounds at number_format).
Fix pthreads detection when cross-compiling (ffontaine)
Fixed bug #73337 (try/catch not working with two exceptions inside a same operation).
Fixed bug #73156 (segfault on undefined function).
Fixed bug #73163 (PHP hangs if error handler throws while accessing undef const in default value).
Fixed bug #73172 (parse error: Invalid numeric literal).
Fixed bug #73181 (parse_str() without a second argument leads to crash).
Fixed bug #73025 (Heap Buffer Overflow in virtual_popen of zend_virtual_cwd.c).
Fixed bug #73058 (crypt broken when salt is ‘too’ long).
Fixed bug #72944 (Null pointer deref in zval_delref_p).
Fixed bug #72943 (assign_dim on string doesn’t reset hval).
Fixed bug #72598 (Reference is lost after array_slice()) (Nikita)
Fixed bug #72703 (Out of bounds global memory read in BF_crypt triggered by password_verify).
Fixed bug #72813 (Segfault with __get returned by ref).
Fixed bug #72767 (PHP Segfaults when trying to expand an infinite operator).
TypeError messages for arg_info type checks will now say “must be … or null” where the parameter or return type accepts null.
Fixed bug #72857 (stream_socket_recvfrom read access violation).
Fixed bug #72663 (Create an Unexpected Object and Don’t Invoke __wakeup() in Deserialization).
Fixed bug #72681 (PHP Session Data Injection Vulnerability).
Fixed bug #72742 (memory allocator fails to realloc small block to large one).
Fixed URL rewriter. It would not rewrite ‘//example.com/’ URL unconditionally. URL rewrite target hosts whitelist is implemented.
Fixed bug #72641 (phpize (on Windows) ignores PHP_PREFIX).
Fixed bug #72683 (getmxrr broken).
Fixed bug #72629 (Caught exception assignment to variables ignores references).
Fixed bug #72594 (Calling an earlier instance of an included anonymous class fatals).
Fixed bug #72581 (previous property undefined in Exception after deserialization).
Fixed bug #72543 (Different references behavior comparing to PHP 5) (Laruence, Dmitry, Nikita)
Fixed bug #72347 (VERIFY_RETURN type casts visible in finally).
Fixed bug #72216 (Return by reference with finally is not memory safe).
Fixed bug #72215 (Wrong return value if var modified in finally).
Fixed bug #71818 (Memory leak when array altered in destructor).
Fixed bug #71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes) (Dmitry, Nikita)
Added new constant PHP_FD_SETSIZE.
Added optind parameter to getopt().
Added PHP to SAPI error severity mapping for logs.
Fixed bug #71911 (Unable to set –enable-debug on building extensions by phpize on Windows).
Fixed bug #29368 (The destructor is called when an exception is thrown from the constructor).
Implemented RFC: RNG Fixes.
Implemented email validation as per RFC 6531.
Fixed bug #72513 (Stack-based buffer overflow vulnerability in virtual_file_ex).
Fixed bug #72573 (HTTP_PROXY is improperly trusted by some PHP libraries and applications).
Fixed bug #72523 (dtrace issue with reflection (failed test)).
Fixed bug #72508 (strange references after recursive function call and “switch” statement).
Fixed bug #72441 (Segmentation fault: RFC list_keys).
Fixed bug #72395 (list() regression).
Fixed bug #72373 (TypeError after Generator function w/declared return type finishes).
Fixed bug #69489 (tempnam() should raise notice if falling back to temp dir).
Fixed UTF-8 and long path support on Windows.
Fixed bug #53432 (Assignment via string index access on an empty string converts to array).
Fixed bug #62210 (Exceptions can leak temporary variables).
Fixed bug #62814 (It is possible to stiffen child class members visibility).
Fixed bug #69989 (Generators don’t participate in cycle GC).
Fixed bug #70228 (Memleak if return in finally block).
Fixed bug #71266 (Missing separation of properties HT in foreach etc).
Fixed bug #71604 (Aborted Generators continue after nested finally).
Fixed bug #71572 (String offset assignment from an empty string inserts null byte).
Fixed bug #71897 (ASCII 0x7F Delete control character permitted in identifiers).
Fixed bug #72188 (Nested try/finally blocks losing return value).
Fixed bug #72213 (Finally leaks on nested exceptions).
Fixed bug #47517 (php-cgi.exe missing UAC manifest).
Change statement and fcall extension handlers to accept frame.
Number operators taking numeric strings now emit E_NOTICEs or E_WARNINGs when given malformed numeric strings.
(int), intval() where $base is 10 or unspecified, settype(), decbin(), decoct(), dechex(), integer operators and other conversions now always respect scientific notation in numeric strings.
Raise a compile-time warning on octal escape sequence overflow.
Apache2handler:
Enable per-module logging in Apache 2.4+.
BCmath:
Fix bug #73190 (memcpy negative parameter _bc_new_num_ex).
Bz2:
Fixed bug #72837 (integer overflow in bzdecompress caused heap corruption).
Fixed bug #72613 (Inadequate error handling in bzread()).
Calendar:
Fix integer overflows (Joshua Rogers)
Fixed bug #67976 (cal_days_month() fails for final month of the French calendar).
Fixed bug #71894 (AddressSanitizer: global-buffer-overflow in zif_cal_from_jd).
CLI Server:
Fixed bug #73360 (Unable to work in root with unicode chars).
Fixed bug #71276 (Built-in webserver does not send Date header).
COM:
Fixed bug #73126 (Cannot pass parameter 1 by reference).
Fixed bug #69579 (Invalid free in extension trait).
Fixed bug #72922 (COM called from PHP does not return out parameters).
Fixed bug #72569 (DOTNET/COM array parameters broke in PHP7).
Fixed bug #72498 (variant_date_from_timestamp null dereference).
Curl:
Implement support for handling HTTP/2 Server Push.
Add curl_multi_errno(), curl_share_errno() and curl_share_strerror() functions.
Fixed bug #72674 (Heap overflow in curl_escape).
Fixed bug #72541 (size_t overflow lead to heap corruption). (Stas).
Fixed bug #71709 (curl_setopt segfault with empty CURLOPT_HTTPHEADER).
Fixed bug #71929 (CURLINFO_CERTINFO data parsing error).
Date:
Fixed bug #69587 (DateInterval properties and isset).
Fixed bug #73426 (createFromFormat with ‘z’ format char results in incorrect time).
Fixed bug #45554 (Inconsistent behavior of the u format char).
Fixed bug #48225 (DateTime parser doesn’t set microseconds for “now”).
Fixed bug #52514 (microseconds are missing in DateTime class).
Fixed bug #52519 (microseconds in DateInterval are missing).
Fixed bug #60089 (DateTime::createFromFormat() U after u nukes microtime).
Fixed bug #64887 (Allow DateTime modification with subsecond items).
Fixed bug #68506 (General DateTime improvments needed for microseconds to become useful).
Fixed bug #73109 (timelib_meridian doesn’t parse dots correctly).
Fixed bug #73247 (DateTime constructor does not initialise microseconds property).
Fixed bug #73147 (Use After Free in PHP7 unserialize()).
Fixed bug #73189 (Memcpy negative size parameter php_resolve_path).
Fixed bug #66836 (DateTime::createFromFormat ‘U’ with pre 1970 dates fails parsing).
Invalid serialization data for a DateTime or DatePeriod object will now throw an instance of Error from __wakeup() or __set_state() instead of resulting in a fatal error.
Timezone initialization failure from serialized data will now throw an instance of Error from __wakeup() or __set_state() instead of resulting in a fatal error.
Export date_get_interface_ce() for extension use.
Fixed bug #63740 (strtotime seems to use both sunday and monday as start of week).
Dba:
Fixed bug #70825 (Cannot fetch multiple values with group in ini file).
Data modification functions (e.g.: dba_insert()) now throw an instance of Error instead of triggering a catchable fatal error if the key is does not contain exactly two elements.
DOM:
Fixed bug #73150 (missing NULL check in dom_document_save_html).
Fixed bug #66502 (DOM document dangling reference).
Invalid schema or RelaxNG validation contexts will throw an instance of Error instead of resulting in a fatal error.
Attempting to register a node class that does not extend the appropriate base class will now throw an instance of Error instead of resulting in a fatal error.
Attempting to read an invalid or write to a readonly property will throw an instance of Error instead of resulting in a fatal error.
DTrace:
Disabled PHP call tracing by default (it makes significant overhead). This may be enabled again using envirionment variable USE_ZEND_DTRACE=1.
EXIF:
Fixed bug #72735 (Samsung picture thumb not read (zero size)).
Fixed bug #72627 (Memory Leakage In exif_process_IFD_in_TIFF).
Fixed bug #72603 (Out of bound read in exif_process_IFD_in_MAKERNOTE).
Fixed bug #72618 (NULL Pointer Dereference in exif_process_user_comment).
Filter:
Fixed bug #72972 (Bad filter for the flags FILTER_FLAG_NO_RES_RANGE and FILTER_FLAG_NO_PRIV_RANGE).
Fixed bug #73054 (default option ignored when object passed to int filter).
Fixed bug #71745 (FILTER_FLAG_NO_RES_RANGE does not cover whole 127.0.0.0/8 range).
FPM:
Fixed bug #72575 (using –allow-to-run-as-root should ignore missing user).
FTP:
Fixed bug #70195 (Cannot upload file using ftp_put to FTPES with require_ssl_reuse).
Implemented FR #55651 (Option to ignore the returned FTP PASV address).
GD:
Fixed bug #73213 (Integer overflow in imageline() with antialiasing).
Fixed bug #73272 (imagescale() is not affected by, but affects imagesetinterpolation()).
Fixed bug #73279 (Integer overflow in gdImageScaleBilinearPalette()).
Fixed bug #73280 (Stack Buffer Overflow in GD dynamicGetbuf).
Fixed bug #50194 (imagettftext broken on transparent background w/o alphablending).
Fixed bug #73003 (Integer Overflow in gdImageWebpCtx of gd_webp.c).
Fixed bug #53504 (imagettfbbox gives incorrect values for bounding box).
Fixed bug #73157 (imagegd2() ignores 3rd param if 4 are given).
Fixed bug #73155 (imagegd2() writes wrong chunk sizes on boundaries).
Fixed bug #73159 (imagegd2(): unrecognized formats may result in corrupted files).
Fixed bug #73161 (imagecreatefromgd2() may leak memory).
Fixed bug #67325 (imagetruecolortopalette: white is duplicated in palette).
Fixed bug #66005 (imagecopy does not support 1bit transparency on truecolor images).
Fixed bug #72913 (imagecopy() loses single-color transparency on palette images).
Fixed bug #68716 (possible resource leaks in _php_image_convert()).
Fixed bug #72709 (imagesetstyle() causes OOB read for empty $styles).
Fixed bug #72697 (select_colors write out-of-bounds).
Fixed bug #72730 (imagegammacorrect allows arbitrary write access).
Fixed bug #72596 (imagetypes function won’t advertise WEBP support).
Fixed bug #72604 (imagearc() ignores thickness for full arcs).
Fixed bug #70315 (500 Server Error but page is fully rendered).
Fixed bug #43828 (broken transparency of imagearc for truecolor in blendingmode).
Fixed bug #72512 (gdImageTrueColorToPaletteBody allows arbitrary write/read access).
Fixed bug #72519 (imagegif/output out-of-bounds access).
Fixed bug #72558 (Integer overflow error within _gdContributionsAlloc()).
Fixed bug #72482 (Ilegal write/read access caused by gdImageAALine overflow).
Fixed bug #72494 (imagecropauto out-of-bounds access).
Fixed bug #72404 (imagecreatefromjpeg fails on selfie).
Fixed bug #43475 (Thick styled lines have scrambled patterns).
Fixed bug #53640 (XBM images require width to be multiple of 8).
Fixed bug #64641 (imagefilledpolygon doesn’t draw horizontal line).
Hash:
Added SHA3 fixed mode algorithms (224, 256, 384, and 512 bit).
Added SHA512/256 and SHA512/224 algorithms.
iconv:
Fixed bug #72320 (iconv_substr returns false for empty strings).
IMAP:
Fixed bug #73418 (Integer Overflow in “_php_imap_mail” leads to crash).
An email address longer than 16385 bytes will throw an instance of Error instead of resulting in a fatal error.
Interbase:
Fixed bug #73512 (Fails to find firebird headers as don’t use fb_config output).
Intl:
Fixed bug #73007 (add locale length check).
Fixed bug #73218 (add mitigation for ICU int overflow).
Fixed bug #65732 (grapheme_*() is not Unicode compliant on CR LF sequence).
Fixed bug #73007 (add locale length check).
Fixed bug #72639 (Segfault when instantiating class that extends IntlCalendar and adds a property).
Fixed bug #72658 (Locale::lookup() / locale_lookup() hangs if no match found).
Partially fixed #72506 (idn_to_ascii for UTS #46 incorrect for long domain names).
Fixed bug #72533 (locale_accept_from_http out-of-bounds access).
Failure to call the parent constructor in a class extending Collator before invoking the parent methods will throw an instance of Error instead of resulting in a recoverable fatal error.
Cloning a Transliterator object may will now throw an instance of Error instead of resulting in a fatal error if cloning the internal transliterator fails.
Added IntlTimeZone::getWindowsID() and IntlTimeZone::getIDForWindowsID().
Fixed bug #69374 (IntlDateFormatter formatObject returns wrong utf8 value).
Fixed bug #69398 (IntlDateFormatter formatObject returns wrong value when time style is NONE).
JSON:
Introduced encoder struct instead of global which fixes bugs #66025 and #73254 related to pretty print indentation.
Fixed bug #73113 (Segfault with throwing JsonSerializable).
Implemented earlier return when json_encode fails, fixes bugs #68992 (Stacking exceptions thrown by JsonSerializable) and #70275 (On recursion error, json_encode can eat up all system memory).
Implemented FR #46600 (“_empty_” key in objects).
Exported JSON parser API including json_parser_method that can be used for implementing custom logic when parsing JSON.
Escaped U+2028 and U+2029 when JSON_UNESCAPED_UNICODE is supplied as json_encode options and added JSON_UNESCAPED_LINE_TERMINATORS to restore the previous behaviour.
LDAP:
Providing an unknown modification type to ldap_batch_modify() will now throw an instance of Error instead of resulting in a fatal error.
Mbstring:
Fixed bug #73532 (Null pointer dereference in mb_eregi).
Fixed bug #66964 (mb_convert_variables() cannot detect recursion) (Yasuo)
Fixed bug #72992 (mbstring.internal_encoding doesn’t inherit default_charset).
Fixed bug #66797 (mb_substr only takes 32-bit signed integer).
Fixed bug #72711 (`mb_ereg` does not clear the `$regs` parameter on failure).
Fixed bug #72691 (mb_ereg_search raises a warning if a match zero-width).
Fixed bug #72693 (mb_ereg_search increments search position when a match zero-width).
Fixed bug #72694 (mb_ereg_search_setpos does not accept a string’s last position).
Fixed bug #72710 (`mb_ereg` causes buffer overflow on regexp compile error).
Deprecated mb_ereg_replace() eval option.
Fixed bug #69151 (mb_ereg should reject ill-formed byte sequence).
Fixed bug #72405 (mb_ereg_replace – mbc_to_code (oniguruma) – oob read access).
Fixed bug #72399 (Use-After-Free in MBString (search_re)).
mb_ereg() and mb_eregi() will now throw an instance of ParseError if an invalid PHP expression is provided and the ‘e’ option is used.
Mcrypt:
Deprecated ext/mcrypt.
Fixed bug #72782 (Heap Overflow due to integer overflows).
Fixed bug #72551, bug #72552 (In correct casting from size_t to int lead to heap overflow in mdecrypt_generic).
mcrypt_encrypt() and mcrypt_decrypt() will throw an instance of Error instead of resulting in a fatal error if mcrypt cannot be initialized.
Mysqli:
Attempting to read an invalid or write to a readonly property will throw an instance of Error instead of resulting in a fatal error.
Mysqlnd:
Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*).
Fixed bug #71863 (Segfault when EXPLAIN with “Unknown column” error when using MariaDB).
Fixed bug #72701 (mysqli_get_host_info() wrong output).
OCI8:
Fixed bug #71148 (Bind reference overwritten on PHP 7).
Fixed invalid handle error with Implicit Result Sets.
Fixed bug #72524 (Binding null values triggers ORA-24816 error).
ODBC:
Fixed bug #73448 (odbc_errormsg returns trash, always 513 bytes).
Opcache:
Fixed bug #73583 (Segfaults when conditionally declared class and function have the same name).
Fixed bug #69090 (check cached files permissions)
Fixed bug #72982 (Memory leak in zend_accel_blacklist_update_regexp() function).
Fixed bug #72949 (Typo in opcache error message).
Fixed bug #72762 (Infinite loop while parsing a file with opcache enabled).
Fixed bug #72590 (Opcache restart with kill_all_lockers does not work).
OpenSSL:
Fixed bug #73478 (openssl_pkey_new() generates wrong pub/priv keys with Diffie Hellman).
Fixed bug #73276 (crash in openssl_random_pseudo_bytes function).
Fixed bug #73072 (Invalid path SNI_server_certs causes segfault).
Fixed bug #72360 (ext/openssl build failure with OpenSSL 1.1.0).
Bumped a minimal version to 1.0.1.
Dropped support for SSL2.
Implemented FR #61204 (Add elliptic curve support for OpenSSL).
Implemented FR #67304 (Added AEAD support [CCM and GCM modes] to openssl_encrypt and openssl_decrypt).
Implemented error storing to the global queue and cleaning up the OpenSSL error queue (resolves bugs #68276 and #69882).
Pcntl:
Implemented asynchronous signal handling without TICKS.
Added pcntl_signal_get_handler() that returns the current signal handler for a particular signal. Addresses FR #72409.
Add signinfo to pcntl_signal() handler args (Bishop Bettini, David Walker)
PCRE:
Fixed bug #73483 (Segmentation fault on pcre_replace_callback).
Fixed bug #73612 (preg_*() may leak memory).
Fixed bug #73392 (A use-after-free in zend allocator management).
Fixed bug #73121 (Bundled PCRE doesn’t compile because JIT isn’t supported on s390).
Fixed bug #72688 (preg_match missing group names in matches).
Downgraded to PCRE 8.38.
Fixed bug #72476 (Memleak in jit_stack).
Fixed bug #72463 (mail fails with invalid argument).
Upgraded to PCRE 8.39.
PDO:
Fixed bug #72788 (Invalid memory access when using persistent PDO connection).
Fixed bug #72791 (Memory leak in PDO persistent connection handling).
Fixed bug #60665 (call to empty() on NULL result using PDO::FETCH_LAZY returns false).
PDO_DBlib:
Fixed bug #72414 (Never quote values as raw binary data).
Allow \PDO::setAttribute() to set query timeouts.
Handle SQLDECIMAL/SQLNUMERIC types, which are used by later TDS versions.
Add common PDO test suite.
Free error and message strings when cleaning up PDO instances.
Fixed bug #67130 (\PDOStatement::nextRowset() should succeed when all rows in current rowset haven’t been fetched).
Ignore potentially misleading dberr values.
Implemented stringify ‘uniqueidentifier’ fields.
PDO_Firebird:
Fixed bug #73087, #61183, #71494 (Memory corruption in bindParam).
Fixed bug #60052 (Integer returned as a 64bit integer on X86_64).
PDO_pgsql:
Fixed bug #70313 (PDO statement fails to throw exception).
Fixed bug #72570 (Segmentation fault when binding parameters on a query without placeholders).
Implemented FR #72633 (Postgres PDO lastInsertId() should work without specifying a sequence).
Phar:
Fixed bug #72928 (Out of bound when verify signature of zip phar in phar_parse_zipfile).
Fixed bug #73035 (Out of bound when verify signature of tar phar in phar_parse_tarfile).
phpdbg:
Added generator command for inspection of currently alive generators.
Postgres:
Fixed bug #73498 (Incorrect SQL generated for pg_copy_to()).
Implemented FR #31021 (pg_last_notice() is needed to get all notice messages).
Implemented FR #48532 (Allow pg_fetch_all() to index numerically).
Readline:
Fixed bug #72538 (readline_redisplay crashes php).
Reflection:
Undo backwards compatiblity break in ReflectionType->__toString() and deprecate via documentation instead.
Reverted prepending \ for class names.
Implemented request #38992 (invoke() and invokeArgs() static method calls should match). (cmb).
Add ReflectionNamedType::getName(). This method should be used instead of ReflectionType::__toString()
Prepend \ for class names and ? for nullable types returned from ReflectionType::__toString().
Fixed bug #72661 (ReflectionType::__toString crashes with iterable).
Fixed bug #72222 (ReflectionClass::export doesn’t handle array constants).
Failure to retrieve a reflection object or retrieve an object property will now throw an instance of Error instead of resulting in a fatal error.
Fix #72209 (ReflectionProperty::getValue() doesn’t fail if object doesn’t match type).
Session:
Fixed bug #73273 (session_unset() empties values from all variables in which is $_session stored).
Fixed bug #73100 (session_destroy null dereference in ps_files_path_create).
Fixed bug #68015 (Session does not report invalid uid for files save handler).
Fixed bug #72940 (SID always return “name=ID”, even if session cookie exist).
Implemented session_gc() (Yasuo) https://wiki.php.net/rfc/session-create-id
Implemented session_create_id() (Yasuo) https://wiki.php.net/rfc/session-gc
Implemented RFC: Session ID without hashing. (Yasuo) https://wiki.php.net/rfc/session-id-without-hashing
Fixed bug #72531 (ps_files_cleanup_dir Buffer overflow).
Custom session handlers that do not return strings for session IDs will now throw an instance of Error instead of resulting in a fatal error when a function is called that must generate a session ID.
An invalid setting for session.hash_function will throw an instance of Error instead of resulting in a fatal error when a session ID is created.
Fixed bug #72562 (Use After Free in unserialize() with Unexpected Session Deserialization).
Improved fix for bug #68063 (Empty session IDs do still start sessions).
Fixed bug #71038 (session_start() returns TRUE on failure). Session save handlers must return ‘string’ always for successful read. i.e. Non-existing session read must return empty string. PHP 7.0 is made not to tolerate buggy return value.
Fixed bug #71394 (session_regenerate_id() must close opened session on errors).
SimpleXML:
Fixed bug #73293 (NULL pointer dereference in SimpleXMLElement::asXML()).
Fixed bug #72971 (SimpleXML isset/unset do not respect namespace).
Fixed bug #72957 (Null coalescing operator doesn’t behave as expected with SimpleXMLElement).
Fixed bug #72588 (Using global var doesn’t work while accessing SimpleXML element).
Creating an unnamed or duplicate attribute will throw an instance of Error instead of resulting in a fatal error.
SNMP:
Fixed bug #72708 (php_snmp_parse_oid integer overflow in memory allocation).
Fixed bug #72479 (Use After Free Vulnerability in SNMP with GC and unserialize()).
Soap:
Fixed bug #73538 (SoapClient::__setSoapHeaders doesn’t overwrite SOAP headers).
Fixed bug #73452 (Segfault (Regression for #69152)).
Fixed bug #73037 (SoapServer reports Bad Request when gzipped).
Fixed bug #73237 (Nested object in “any” element overwrites other fields).
Fixed bug #69137 (Peer verification fails when using a proxy with SoapClient) (Keith Smiley)
Fixed bug #71711 (Soap Server Member variables reference bug).
Fixed bug #71996 (Using references in arrays doesn’t work like expected).
SPL:
Fixed bug #73423 (Reproducible crash with GDB backtrace).
Fixed bug #72888 (Segfault on clone on splFileObject).
Fixed bug #73029 (Missing type check when unserializing SplArray).
Fixed bug #72646 (SplFileObject::getCsvControl does not return the escape character).
Fixed bug #72684 (AppendIterator segfault with closed generator).
Attempting to clone an SplDirectory object will throw an instance of Error instead of resulting in a fatal error.
Calling ArrayIterator::append() when iterating over an object will throw an instance of Error instead of resulting in a fatal error.
Fixed bug #55701 (GlobIterator throws LogicException).
SQLite3:
Update to SQLite 3.15.1.
Fixed bug #73530 (Unsetting result set may reset other result set).
Fixed bug #73333 (2147483647 is fetched as string).
Fixed bug #72668 (Spurious warning when exception is thrown in user defined function).
Implemented FR #72653 (SQLite should allow opening with empty filename).
Fixed bug #70628 (Clearing bindings on an SQLite3 statement doesn’t work).
Implemented FR #71159 (Upgraded bundled SQLite lib to 3.9.2).
Standard:
Fixed bug #73297 (HTTP stream wrapper should ignore HTTP 100 Continue).
Fixed bug #73303 (Scope not inherited by eval in assert()).
Fixed bug #73192 (parse_url return wrong hostname).
Fixed bug #73203 (passing additional_parameters causes mail to fail).
Fixed bug #73203 (passing additional_parameters causes mail to fail).
Fixed bug #72920 (Accessing a private constant using constant() creates an exception AND warning).
Fixed bug #65550 (get_browser() incorrectly parses entries with “+” sign).
Fixed bug #71882 (Negative ftruncate() on php://memory exhausts memory).
Fixed bug #55451 (substr_compare NULL length interpreted as 0).
Fixed bug #72278 (getimagesize returning FALSE on valid jpg).
Fixed bug #61967 (unset array item in array_walk_recursive cause inconsistent array).
Fixed bug #62607 (array_walk_recursive move internal pointer).
Fixed bug #69068 (Exchanging array during array_walk -> memory errors).
Fixed bug #70713 (Use After Free Vulnerability in array_walk()/ array_walk_recursive()).
Fixed bug #72622 (array_walk + array_replace_recursive create references from nothing).
Fixed bug #72330 (CSV fields incorrectly split if escape char followed by UTF chars).
Implemented RFC: More precise float values.
array_multisort now uses zend_sort instead zend_qsort.
Fixed bug #72505 (readfile() mangles files larger than 2G).
assert() will throw a ParseError when evaluating a string given as the first argument if the PHP code is invalid instead of resulting in a catchable fatal error.
Calling forward_static_call() outside of a class scope will now throw an instance of Error instead of resulting in a fatal error.
Added is_iterable() function.
Fixed bug #72306 (Heap overflow through proc_open and $env parameter).
Fixed bug #71100 (long2ip() doesn’t accept integers in strict mode).
Implemented FR #55716 (Add an option to pass a custom stream context to get_headers()).
Additional validation for parse_url() for login/pass components).
Implemented FR #69359 (Provide a way to fetch the current environment variables).
unpack() function accepts an additional optional argument $offset.
Implemented #51879 stream context socket option tcp_nodelay (Joe)
Streams:
Fixed bug #73586 (php_user_filter::$stream is not set to the stream the filter is working on).
Fixed bug #72853 (stream_set_blocking doesn’t work).
Fixed bug #72743 (Out-of-bound read in php_stream_filter_create).
Implemented FR #27814 (Multiple small packets send for HTTP request).
Fixed bug #72764 (ftps:// opendir wrapper data channel encryption fails with IIS FTP 7.5, 8.5).
Fixed bug #72810 (Missing SKIP_ONLINE_TESTS checks).
Fixed bug #41021 (Problems with the ftps wrapper).
Fixed bug #54431 (opendir() does not work with ftps:// wrapper).
Fixed bug #72667 (opendir() with ftp:// attempts to open data stream for non-existent directories).
Fixed bug #72771 (ftps:// wrapper is vulnerable to protocol downgrade attack).
Fixed bug #72534 (stream_socket_get_name crashes).
Fixed bug #72439 (Stream socket with remote address leads to a segmentation fault).
sysvshm:
Fixed bug #72858 (shm_attach null dereference).
Tidy:
Implemented support for libtidy 5.0.0 and above.
Creating a tidyNode manually will now throw an instance of Error instead of resulting in a fatal error.
Wddx:
Fixed bug #73331 (NULL Pointer Dereference in WDDX Packet Deserialization with PDORow).
Fixed bug #72142 (WDDX Packet Injection Vulnerability in wddx_serialize_value()).
Fixed bug #72749 (wddx_deserialize allows illegal memory access) (Stas)
Fixed bug #72750 (wddx_deserialize null dereference).
Fixed bug #72790 (wddx_deserialize null dereference with invalid xml).
Fixed bug #72799 (wddx_deserialize null dereference in php_wddx_pop_element).
Fixed bug #72860 (wddx_deserialize use-after-free).
Fixed bug #73065 (Out-Of-Bounds Read in php_wddx_push_element).
Fixed bug #72564 (boolean always deserialized as “true”) (Remi)
A circular reference when serializing will now throw an instance of Error instead of resulting in a fatal error.
XML:
Fixed bug #72135 (malformed XML causes fault) (edgarsandi)
Fixed bug #72714 (_xml_startElementHandler() segmentation fault).
Fixed bug #72085 (SEGV on unknown address zif_xml_parse).
XMLRPC:
Fixed bug #72647 (xmlrpc_encode() unexpected output after referencing array elements).
Fixed bug #72606 (heap-buffer-overflow (write) simplestring_addn simplestring.c).
A circular reference when serializing will now throw an instance of Error instead of resulting in a fatal error.
Zip:
Fixed bug #68302 (impossible to compile php with zip support).
Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd).
Fixed bug #72520 (Stack-based buffer overflow vulnerability in php_stream_zip_opener).
ZipArchive::addGlob() will throw an instance of Error instead of resulting in a fatal error if glob support is not available

آموزش ادامه دانلود یا آپلود در فایل زیلا بعد از قطع شدن

ممکن است برای شما پیش آمده باشد که در هنگام دریافت و یا بارگزاری فایل با نرم افزار FTP فایل زیلا اینترنت شما قطع شود

آموزش ادامه دانلود یا آپلود در فایل زیلا بعد از قطع شدن
آموزش ادامه دانلود یا آپلود در فایل زیلا بعد از قطع شدن

در آموزشی که در ادامه فرا میگیرید نحوه از سرگیری ادامه دانلود یا اپلود فایل گفته شده است

* مرحله 1 :

filezilla
filezilla

* مرحله 2 :

file zilla
file zilla

* مرحله 3:

فایل زیلا
فایل زیلا

* مرحله 4 :

فایلزیلا
فایلزیلا

* مرحله 5:

دانلود یا آپلود در فایل زیلا
دانلود یا آپلود در فایل زیلا

* مرحله 6 :

دانلود در فایل زیلا
دانلود در فایل زیلا

* مرحله 7 :

آپلود در فایل زیلا
آپلود در فایل زیلا

رفع خطا kernel panic-not syncing attempted to kill init

رفع خطا kernel panic-not syncing attempted to kill init

رفع خطای Fixing Kernel panic
رفع خطای Fixing Kernel panic

مشکل در بوت شدن سرور الستیکس

خطایی که شما در این پست نحوه رفع اون رو آموزش میبینید ممکن است در سرور الستیکس یا هر سرور دیگه ای که دارای هسته لینوکسی باشه نمایش داده بشه. این خطا مربوط به زمانی است که هسته لینوکسی سرور شما قادر به لود کردن SELinux نیست و شما در زمان بوت شدن سیستم خطای Fixing Kernel panic – not syncing: Attempted to kill init را مشاهده میکنید مانند تصویر زیر:

آموزش رفع خطای Fixing Kernel panic
آموزش رفع خطای Fixing Kernel panic

برای رفع این مشکل در ابتدا سیستم را ریست کرده و دکه Esc را فشار دهید.

نحوه رفع خطای Fixing Kernel panic
نحوه رفع خطای Fixing Kernel panic

پس از زدن دکمه Esc محیطی مانند تصویر زیر برای شما نمایش داده شود.

 

رفع Fixing Kernel panic
رفع Fixing Kernel panic

روی گزینه ۳۴۸٫۱۸٫۱٫e15 دکمه e را زده

 

خطای Fixing Kernel panic
خطای Fixing Kernel panic

حال مانند تصویر زیر کامند selinux=0 enforcing=0 را وارد کنید.

Fixing Kernel panic
Fixing Kernel panic

سپس سیستم را ریست کنید تا اینبار سیستم شما به صورت کامل لود شود.

تنظیمات نرم افزار CuteFTP

نرم افزار CuteFTP یکی از نرم افزارهای کاربردی برای آپلود یا بارگذاری فایلها روی هاست می باشد.

آموزش تنظیمات نرم افزار CuteFTP
آموزش تنظیمات نرم افزار CuteFTP

در این نرم افزار شما با استفاده از پروتکل ftp می توانید انتقال اطلاعات را انجام دهید ، پیشنهاد ما برای آپلود فایلهای حجیم استفاده ازین نرم افزار هست.

تنظیمات نرم افزار CuteFTP
تنظیمات نرم افزار CuteFTP

cuteftp_1

نرم افزار CuteFTP دارای 5 قسمت اصلی است.
1- پنجره Local drives: فایل های موجود در هارد دیسک کامپیوتر کاربر را نشان می دهد.
2- پنجره Site Manager : اطلاعات سایت شما در FTP هایی که ساخته اید وجود دارد.
3- پنجره Remote : فایل های موجود در Host شما را نشان می دهد.
4- پنجره Log : وضعیت ارتباطات و کانکت بودن به هاست را نشان می دهد.
5- پنجره Queue : وضعیت فایل های آپلود و دانلود شده را نشان می دهد.

برای اتصال به ftp باید در بخش Host ادرس دامنه و یا ای پی سرور خود را وارد کنید.

در بخش یوزر و پسورد نیز نام کاربری و پسورد ftp را وارد کنید . در قسمت پورت نیز پورت 21 را وارد کنید.

همچنین برای ساخت یک FTP Site جدید از منوی File سپس New و بعد از آن FTP Sites را انتخاب می کنیم .

در پنجره ی باز شده باید اطلاعات مربوط به اکانت ftp خود را وارد کنید:

Label : در این فیلد نام FTP Site خود را وارد کنید.
Host Address : در این قسمت آدرس دامین یا آدرس FTP و یا آدرس IP سروری که سایت شما روی ان میزبانی می شود را وارد کنید.
Username : نام کاربری ادرس ftp که ساخته اید را وارد کنید.
Password : پسورد یوزر مورد نظر
Login Method : باید گزینه ی Normal را انتخاب کنید.

در تب Type به تنظیماتی که به صورت پیش فرض در نظر گرفته شده دست نزنید.

نکته ای در این جا وجود دارد که در قسمت Server Type حتما گزینه ی Auto Detect انتخاب شده باشد ، در غیر این صورت هنگام آپلود فایل های مختلف به مشکل بر می خوردید.

در نهایت بر روی دکمه Ok کلیک کرده ، مانند عکس زیر FTP ساخته شده ی سایت خود را در پنجره Site Manager مشاهده خواهید کرد.

کانفیگ لایت اسپید

کانفیگ لایت اسپید (litespeed) از خدمات حرفه ای پیشگام وب می باشد.
. لایت اسپید عملکرد و مقیاس پذیری فوق العاده بالایی دارد و سرعت چند برابری نسبت به آپاچی و وب سرورهای دیگر دارد.
پیشنهاد ما برای سایتهای پر بازدید که بازدید های لحظه ای انها زیاد می باشد استفاده از وب سرور لایت اسپید می باشد.
از ویژگی های بارز این وب سرور به شرح زیر می باشد:

افزایش عملکرد php تا 50%
بهترین عملکرد Ruby on Rail

تا 6  برابر سریع تر از apache

بهترین عملکرد perl
3 برابر سریع تر از apache در ssl
cgi های موثر
شتاب سخت افزاری ssl

امنیت
لغو همه buffer-overrun ها
Anti-DDoS

دقیقترین درخواست اعتبار سنجی http
جلو گیری از System overloading
CGI/FCGI/LSAPI/PHP/RUBY suEXEC

از مزیت های لایت اسپید برای شما گفتیم ولی اگر این وب سرور در سرور شما بدرستی کانفیگ نشود ، نمی توانید به عملکرد حقیق آن دست یابید.
کانفیگ لایت اسپید در سرورهای مختلف و با توجه به تعداد بازدیدهای شما متفاوت است ، ما با متخصص ترین افراد لایت اسپید را در سرور شما به بهترین شکل ممکن نصب و کانفیگ میکنیم.

SuHosin چیست

اگر شما مدیر یک سرور اشتراکی هستید که بر روی آن سایت های زیادی وجود دارد. هر یک از این سایت ها ممکن است دارای آسیب پذیری هایی باشند که امنیت کل سرور شما را تهدید می کنند یا فرض کنید شما یک برنامه نویس PHP هستید که در یک تیم برنامه نویسی کار می کنید. برنامه ای که ایجاد می کنید دارای بخش های مختلفی است که توسط برنامه نویسان دیگر ایجاد شده و امکان چک کردن همه کدهای آنها از نظر امنیتی تقریبا وجود ندارد.اینجاست که SuHosin به کمک شما می آید.

SuHosin چیست
SuHosin چیست

suHosin یک پلاگین امنیتی برای زبان PHP است. نام این پلاگین توسط ایجاد کننده ی آلمانی آن به زبان کره ای و به معنای فرشته ی محافظ انتخاب شده است. ‘su-ho-shin’ و یا در فارسی ‘سوحشین ‘ برای امن سازی سرور از مشکلات امنیتی شناخته شده و شناخته نشده در ابزار ایجاد شده به زبان PHP و یا خود هسته ی PHP ایجاد شده است و از دو بخش کلی تشکیل شده است. بخش اول آن یک Patch امنیتی برای هسته PHP است که محافظت Low Level را برعهده دارد. این بخش می تواند جلوی آسیب های Buffer Overflows یا آسیب پذیری های Format String را بگیرد. بخش دوم آسیب پذیری های شناخته شده و یا شناخته نشده دیگر را محافظت می کند.
چرا از suHosin استفاده کنیم؟ فرض کنید شما تنها برنامه نویس یک سایت به زبان PHP هستید و تنها سایت روی سرور نیز دست شما است و شما به کد خود اعتماد دارید. بازهم استفاده از suHosin می تواند برای شما مفید باشد، چراکه ممکن است آسیب پذیری جدید کشف شود که شما آن را در کد خود در نظر نگرفته اید.
حتی گاهی اطلاعات شما درباره امن سازی کد کافی نمی باشد. برای مثال می توان به آسیب پذیری Remote Code Inclusion اشاره نمود که اکثر افراد فکر می کنند با غیر فعال کردن allow_url_fopen در php.ini می توان جلوی آن را گرفت. اما حتی در این صورت نیز می توان از php://input و یا data:// URLs استفاده کرد. در اینجا suHosin به خوبی از شما محافظت می کند.

از امکانات این پلاگین می توان به موارد زیر اشاره نمود:

محافظت از صفحه phpinfo
جلوگیری از آسیب پذیری های Format String
جلوگیری از حملات مربوط به Session
جلوگیری از Buffer Overflow
جلوگیری از آسیب پذیری های Format String
اضافه شدن رمزنگاری SHA256 به هسته PHP
اضافه شدن پشتیبانی از CRYPT_BLOWFISH به تابع crypt
محافظت از صفحه phpinfo
محافظت از پایگاه داده(در حال حاضر آزمایشی)
رمزنگاری کوکی ها
جلوگیری از اجرای Remote Code Inclusion
جلوگیری از اجرای کدهایی که در فایل های آپلود شده وجود دارند
جلوگیری از Directory Traversal
از کار انداختن تابع eval
جلوگیری از حلقه های بی نهایت در کد
جلوگیری از آسیب پذیری HTTP Response Splitting
فیلتر کردن ورودی هایی که دارای عبارت های مشکوک هستند
فیلتر ورودی های ASCII
محدود کردن طول درخواست ها
قابلیت لاگ گیری
و ….

برای نصب suhosin در دایرکت ادمین کافیست مقدار suhosin را در فایل option.conf برابر yes قرار دهید و php و suhosin را build کنید.

محدودیت در دانلود همزمان و اتصالات

اعمال محدودیت برای تعداد اتصالات همزمان و یا حداکثر میزان دانلود در لحظه یکی از مواردی است که اکثر افرادی که سایت دانلود دارند در سرور های خود اعمال می کنند.
برای این محدودیت در apache می توانیم از مود bw استفاده کنیم.
این آموزش مربوط به سرور با کنترل پنل دایرکت ادمین می باشد که توسط پیشگام وب تهیه شده است.

محدودیت در دانلود همزمان و اتصالات
محدودیت در دانلود همزمان و اتصالات

برای نصب mod_bw دستورات زیر را در سرور وارد میکنیم:

1
2
3
4
5
6
cd /root
wget http://files.directadmin.com/services/custombuild/mod_bw-0.92.tgz
mkdir mod_bw
cd mod_bw
tar xvzf ../mod_bw-0.92.tgz
/usr/sbin/apxs -i -a -c mod_bw.c

ممکن است بعد از وارد کردن آخرین خط دستورات فوق با خطاهای زیر مواجه شوید:
mod_bw.c: In function ‘get_bw_rate’:
mod_bw.c:567: error: ‘conn_rec’ has no member named ‘remote_addr’
mod_bw.c: In function ‘get_maxconn’:
mod_bw.c:658: error: ‘conn_rec’ has no member named ‘remote_addr’
mod_bw.c: In function ‘get_sid’:
mod_bw.c:709: error: ‘conn_rec’ has no member named ‘remote_addr’
معمولا این خطا زمانی رخ می دهد که شما قصد نصب این ماژول را روی apache 2.4 داشته باشید ، در اینصورت فایل mod_bw.c را ویرایش کنید و remote_addr -> client_addr تبدیل کنید ، همچنین remote_ip -> client_ip تبدیل کنید.
بعد ازین مورد مقدار زیر بصورت خودکار در فایل httpd.conf وارد میشود:

1
LoadModule bw_module          /usr/lib/apache/mod_bw.so

در ادامه با وارد کردن دستور زیر:

1
nano /etc/httpd/conf/extra/httpd-includes.conf

فایل httpd-includes را ویرایش میکنیم و مقدار زیر را در ان وارد میکنیم و این فایل را ذخیره میکنیم:

1
2
3
4
5
6
7
8
BandWidthModule On
ForceBandWidthModule On
BandWidth all 102400000
MinBandwidth all -1
MaxConnection all 3
#<Location /modbw>
#    SetHandler modbw-handler
#</Location>

در واقع تنظیم می شود هر ای پی نهایتا در هر ثانیه می توانید 3 اتصال داشته باشد و تا 100 مگ می تواند دانلود کند.
سپس apache را ریستارت میکنیم.

anti spamming

رعایت موارد زیر احتمال اسپم شدن ایمیل های ارسالی رو تا حد زیادی کاهش میدهد، به این فعالیت آنتی اسپمینگ می گویند (anti spamming).

این موارد مربوط به محتوای ایمیل است و همچنین تنظیمات سرور و داشتن رکوردهای spf dkim … نیز از الزامات ارسال موفق به اینباکس است که این تنظیمات توسط تیم پشتیبانی پیشگام وب روی سرورهای ایمیل انجام میشود.

anti spamming
anti spamming
از فونت های بسیار بزرگ و یا بسیار ریز استفاده نکنید
– از فونت های رنگارنگ استفاده نکنید – حداکثر از دو تا سه رنگ در متن ایمیل استفاده کنید
– از قرار دادن تعداد زیادی لینک خودداری کنید
– ایمیل های انگلیسی رو با حروف capital ایجاد نکنید
– از ارسال ایمیل های بدون متن و تماما عکس خودداری کنید
– از خبرنامه های ساخته شده در سرویس های ایمیل دیگر در سرورهای اختصاصی خود استفاده نکنید – این خبرنامه ها باید به طور کامل بررسی شوند و لینک های قرار داده شده در آن مطابق با آدرس و اطلاعات سرور تغییر کنند

– در صورت ایجاد خبرنامه با قالب html حتما قالب متنی آن را نیز ایجاد کنید – عینا تمامی متون استفاده شده در قالب html باید در قالب متنی نیز وجود داشته باشند
– حتما فرم لغو اشتراک ایجاد کنید و لینک آن را در بالا یا پایین ایمیل تون قرار بدهید
– از ارسال ایمیل های تستی و بدون محتوا خودداری کنید
– از ارسال به لیست های چند هزار تایی ابتدا به ساکن خودداری کنید
– سرور رو اصطلاحا گرم کنید – warp up – به اینگونه که ابتدا لیست های 5 عضوی با آدرس های ایمیل خودتون ایجد کنید و به آن ها ارسال کنید و در صورت اسپم شدن به باکس اسپم رفته و از not spam برای ایمیل استفاده کنید و ایمیل رو به اینباکس تون منتقل کنید
– سرورها به صورت صفر در اختیارتون قرار میگیرد و با ارسال های تدریجی و بدون خطا به مرورزمان به عنوان ارسال کننده سالم در بین سرویس دهنده ها شناخته میشوید و ایمیل هاتون در اینباکس قرار خواهد گرفت
– از لیست های قرار داده شده روی اینترنت و فروشی و غیر استاندارد به هیچ وجه استفاده نکنید
– بسیاری از این لیست ها دارای هانی پات هستند که این آدرس ها توسط سرویس دهنده های اینترنتی به عنوان تله استفاده میشود و در صورت ارسال به آن ها مشخص میشود که ارسال کننده از یک لیست آماده و غیرمجاز استفاده کرده است و آی پی سرورتون در بلک لیست های مختلف قرار خواهد گرفت
– هر چند وقت در سایت های بررسی بلک لیست مثل mxtoolbox.com فلگ شدن آی پی و دامین تون رو چک کنید و در صورت لیست شدن اقدام به delist کنید
– در زمان تحویل سرور حتما کانفیگ و تنظیمات سرور رو در سایت های آنالیز کننده مثل dnsstuff.com و mxtoolbox.com چک کنید و از دریافت سرور خطادار خودداری کنید
– در طول روز بیش از یکبار به هر لیست ایمیل ارسال نکنید
– فرم های ثبت نام در خبرنامه و لغو عضویت خبرنامه حتما ایجاد کنید و مشترکین رو با استفاده از فرم ثبت نام در لیست قرار بدهید
– به درخواست های لغو عضویت اهمیت بدهید و آدرس ایمیل درخواست کننده رو از لیست خارج کنید
– اطلاعات تماس با شما / شرکت / آدرس شرکت / ایمیل و شماره تماس در صورت امکان در انتهای ایمیل قرار بدهید
– از ضمیمه کردن فایل های حجیم و قرار دادن عکس های حجیم در ایمیل خودداری کنید
– از قرار دادن فایل های اجرایی مثل exe bat در ایمیل خودداری کنید
– سایز تصاویر رو به حداقل برسونید
– از بکاربردن کاراکترهای خاص مثل % $ # در تیتر و متن ایمیل خودداری کنید
– از امکان check for spam در زمان ایجاد کمپین استفاده کنید و احتمال اسپم شدن ایمیل تون رو قبل از ارسال بررسی کنید(anti-spaming) – اختصاصی در سرورهای ایمیل پیشگام وب
– کمپین تون رو قبل از ارسال در کلاینت ها و سرویس دهنده های مختلف مثل اوت لوک جیمیل یاهو بررسی کنید و عیب های آن را رفع کنید – اختصاصی در سرورهای ایمیل پیشگام وب
– در هر ساعت بیش از 500 ایمیل از هر اکانت ارسال نکنید
– از ارسال به آدرس ایمیل های غیرفعال خودداری کنید(anti-spaming)

رعایت موارد فوق احتمال اسپم شدن ایمیل هاتون رو به حداقل خواهد رساند و همچنین تاکید میشود موارد دیگری هم هست که در این مقاله اشاره ای به آن ها نشده است و در رتبه آی پی و دامین ارسالی تاثیر گذار هستند

سیاست‌های جدید محدودیت Resello

به تازگی Resello – یک مرکز ثبت دامنه یا Registrar – اطلاعیه «سیاست‌های جدید محدودیت» منتشر کرده است که باعث ایجاد ابهام و نگرانی کاربران ایرانی شده است.

سیاست‌های جدید محدودیت Resello
سیاست‌های جدید محدودیت Resello

پیشگام وب ، وظیفه خود می‌داند که به ابهامات پیش آمده پاسخ دهد و توصیه‌های لازم در خصوص این اطلاعیه را در اختیار کاربران خود قرار دهد.

پیش از هر چیز باید گفت که هیچ جای نگرانی در خصوص این اطلاعیه وجود ندارد و خطری دامنه شما را تهدید نمی‌کند.

اطلاعیه Resello چه می‌گوید؟

سیاست‌های جدید محدودیت :

بدینوسیله سیاست‌های جدید محدودیت در استفاده از خدمات و محصولات resello را به آگاهی شما می‌رسانیم. این محدودیت‌ها شامل حال ریسلر (نمایندگان)، مشتریان از کشورهای متعدد که مورد تحریم جامعه بین المللی قرار گرفته‌اند می‌باشد.

همچنین توجه شما را به اطلاعیه قبلی ما که در تاریخ ۶ جولای ۲۰۱۷ در رابطه با واحد پولی انتقال به حساب ما در Rabobank جلب می‌نماییم. در این اطلاعیه به شما اعلام شد که واحد پولی شما به روپیه هند (INR) تغییر می‌یابد. حال بر خلاف اطلاعیه قبلی به اطلاع شما می‌رسانیم که واحد پولی شما به Euro (EUR) تغییر می‌یابد.

رویه بررسی تراکنش ها :

در ۱۸ جولای ۲۰۱۷ (۲۷ تیرماه ۱۳۹۶) با استفاده از سیستم جدید بررسی اتوماتیک تراکنش ها و اطلاعات تماس صاحبین حساب رونمایی می‌کنیم. این تراکنش ها تنها در صورتی با موفقیت انجام می‌شود که مشخصات صاحب اکانت، مشتریان یا نمایندگان یا … با قوانین ذکر شده مغایرتی نداشته و درست باشد. تمام حساب‌ها و محصولاتی که بر اساس این بررسی اتوماتیک مغایر قوانین در این تاریخ شناخته شود علامت گذاری می‌گردد و تمدید آن‌ها امکان پذیر نخواهد بود و بدون توجه به جزییات حساب‌ها در زمان تمدید بر اساس علامت گذاری صورت گرفته این عواقب شامل حساب شما و نمایندگان و مشتریان شما می‌باشد.
لطفاً نمایندگان و مشتریان خود را از این تغییر مهم آگاه نمایید.

عواقب

از تاریخ ۱۸ جولای ۲۰۱۷ (۲۷ تیرماه ۱۳۹۶) تمامی مشتریان و نمایندگان و حساب‌هایی که شامل سیاست‌های جدید ممنوعیت می‌شوند، نمی‌توانند:

۱. حساب جدید بسازند (کاربر یا دامنه جدید ثبت کنند)
۲. سفارش جدیدی ثبت کنند
۳. به پلتفرم ما دامنه جدید منتقل نمایند

همچنین از تاریخ ۱۸ آگوست ۲۰۱۷ (۲۷ مرداد ۱۳۹۶) تعرفه خدمات و محصولات ای که شامل سیاست جدید ممنوعیت هستند، افزایش قیمت قابل ملاحظه ای خواهد داشت. این افزایش بر روی موارد زیر اعمال می‌شود:
– تمدید محصولات موجود
– خروج دامنه از Redomption (بازگرداندن دامنه های حذف شده)

و درنهایت از تاریخ ۱۸ نوامبر ۲۰۱۷ (۲۷ آبان ۱۳۹۶ – چهار ماه دیگر) این افراد نخواهند توانست:
– محصولات موجود را تمدید کنند.
– به حساب خود اعتبار بیفزایند.

برگشت اعتبار حساب

در صورتی که وضعیت شما با نیازمندی‌های سیاست‌های جدید ممنوعیت همخوانی ندارد شما می‌توانید درخواست بازگشت وجه بدهید. ما فقط اعتبارهای بیش از ۲۵ یورو را بازگشت خواهیم داد. لطفاً بدین منظور با پشتیبانی ما تماس گرفته و اطلاعات حساب خود را ارائه نمایید.

به طور خلاصه :

واقعاً هیچ اتفاقی برای دامنه شما نمی‌افتد و آن را از دست نمی‌دهید!

این اطلاعیه دامنه‌های IR را هم تحت تأثیر قرار می‌دهد؟

خیر، دامنه‌های آی آر توسط ایرنیک ثبت می‌شوند. این اطلاعیه مربوط به دامنه‌های غیر IR است.

از کجا بفهم دامنه من توسط Resello ثبت شده است؟

اگر در سامانه بررسی مالکیت دامنه، مقابل قسمت «نام مرکز ثبت دامنه» realtime register b.v نوشته شده بود، یعنی دامنه توسط Resello ثبت شده است.

دامنه من در Resello ثبت شده است، چه کار باید انجام دهم؟

لازم نیست کاری خاصی انجام دهید. فقط پیش از انقضای دامنه خود نسبت به تمدید آن اقدام نمایید. توصیه می کنیم در Registrar های معتبر غیر از Resello ثبت نمایید.

در اطلاعیه بیان شده است که «نمی‌توانیم حساب جدید بسازیم و سفارش ثبت کنیم» پس چگونه دامنه ثبت کنم؟

بیش از یک سال است که به دلیل مشکلات Resello دامنه‌های جدید در پیشگام وب در Registrar های معتبر دیگر ثبت می‌شوند و لذا مشکلی برای ثبت دامنه نخواهید داشت. شما تنها کافیست درخواست ثبت دامنه را در پیشگام وب ثبت کنید و مابقی اقدامات توسط‌ پیشگام وب انجام خواهد شد.

در اطلاعیه بیان شده است که «نمی‌توانیم دامنه ای به پلتفرم Resello منتقل کنیم» پس چگونه دامنه خود را منتقل کنم؟

شما اصلاً نیازی ندارید دامنه خود را به resello منتقل کنید، اگر بخواهید دامنه ای را به پیشگام وب منتقل نمایید، دامنه شما به Registrar های معتبر دیگر منتقل می‌شوند.

آیا تمدید دامنه از تاریخ ۱۸ آگوست ۲۰۱۷ (۲۷ مرداد ۱۳۹۶) با تعرفه بالاتر صورت می‌پذیرد؟

دلیلی وجود ندارد که شما دامنه خود را در Resello تمدید کنید. پیشگام وب ضمن انتقال دامنه شما به Registrar های معتبر دیگر، آن را تمدید می‎کند. ما طبق تعرفه معمولی، دامنه های شما را در Registrar های معتبر دیگر منتقل می نماید و غیر از هزینه تمدید دامنه، نیازی به پرداخت هزینه دیگری نیست.

آیا بعد از تاریخ ۱۸ نوامبر ۲۰۱۷ (۲۷ آبان ۱۳۹۶) نمی‌توانم دامنه خود را تمدید کنم؟

اگر قصد تمدید دامنه خود را دارید، حتما این کار پیش از تاریخ انقضای دامنه انجام دهید. پیشگاموب ضمن انتقال دامنه شما به Registrar های معتبر آن را تمدید می‌کند.

توصیه مهم:

به همه مشتریان محترم اکیداً توصیه می‌کنیم، تمدید دامنه‌های غیر IR خود را به ماه‌ های پایانی انقضای دامنه موکول نکنید و زودتر نسبت به تمدید دامنه خود اقدام نمایید.

به منظور امنیت دامنه های کاربران ایرانی، پیشگام وب ، دامنه های جدید را در Registrar های معتبر و مطمئن ثبت می نماید. خاطر نشان می شود که برای دامنه هایی که در حال حاضر در Resello ثبت شده اند و دارای تاریخ اعتبار هستند هیچ مشکلی به وجود نمی آید و جای نگرانی نیست.

مجددا تاکید می شود که هیچ جای نگرانی در خصوص این اطلاعیه وجود ندارد و خطری دامنه کاربران ایرانی را تهدید نمی کند. تنها کاری که کاربران عزیز پیشگام وب باید انجام دهند، تمدید دامنه خود پیش از تاریخ انقضای آن است.

پشتیبان گیری در وردپرس و سی پنل

در آموزش وردپرس امروز قصد داریم پیرامون یک امر مهم و جدایی ناپذیر از یک سایت و سیستم صحبت کنیم. شما بر روی وبسایت خود تغییراتی را ایجاد می کنید، افزونه هایی را نصب می کنید، قالبی نصب می کنید و تغییرات اساسی بر قالب اعمال می کنید. علاوه بر اینها شروع می کنید به ایجاد نوشته ها و برگه ها، دسته ها و برچسب ها و …
حال یک لحظه تصور کنید اتفاق عجیبی بیفتد و سرور بنا به دلایلی از کار بیفتد، یا غیر ارادی عملی را در سایت خود مرتکب شوید که تمامی صفحه سفید شود و دیگر هیچ چیز قابل نمایش نباشد. به نظر شما این اتفاق برای یک مدیر و صاحب سایتی که زحمت زیادی برای کار خود می کشد تکان دهنده نیست ؟

همواره در همه جا و در بسیاری از نوشته های پیشگام وب نیز اشاره کردیم که قبل از هر تغییری نسخه ی پشتیبان از سایت خود تهیه کنید. همچنین برنامه ی منظمی با توجه به فعالیت های خود در هفته برای تهیه ی نسخه ی پشتیبان کامل از سایت داشته باشید و هرگز آن را فراموش نکنید.
اگر شما در زمانی که یکی از اتفاقات بد بالا برایتان افتاد و بدانید که یک بک آپ کامل از سایت دارید دیگر نگرانی در خود راه نمی دهید و به راحتی می توانید سایت خود را به جای اول خود بازگردانید.

تهیه ی نسخه ی پشتیبان از سمت سرور

یکی از راحت ترین روش ها تهیه ی نسخه ی پشتیبان از خود هاستی می باشد که در اختیار دارید. در یک هاست لینوکسی گزینه ی backups در زیر منوی files قرار گرفته با کلیک بر روی آن وارد محیطی می شوید که از شما نوع تهیه ی نسخه ی پشتیبان را سوال می کند.

 

بک آپ گیری از سی پنل
بک آپ گیری از سی پنل

شما باید بر روی گزینه ی “Download or generate a full website backup” کلیک کنید تا در اینجا مکان ایجاد نسخه ی پشتیبان را مشخص کنید.دو گزینه :
۱- بر روی هاست و در مسیر اصلی
۲- ارسال به آدرس ایمیل

هر کدام از این دو مورد را انتخاب کنید، نسخه ی پشتیبان کاملی تهیه کرده و برای شما به یکی از این دو محل ارسال می کند.

آموزش بک آپ گیری از سی پنل
آموزش بک آپ گیری از سی پنل

این نسخه به صورت یک فایل زیپ شده با پسوند tar.gz در پوشه ی اصلی هاست ایجاد می شود.

در دایرکت ادمین نیز به صورت زیر می باشد.

بک اپ گیری در دایرکت ادمین
بک اپ گیری در دایرکت ادمین

تهیه ی نسخه ی پشتیبان از پنل وردپرس

مورد بعدی که بصورت کلی برای همه در پنل مدیریت وردپرس می تواند از نوشته ها، برگه ها، دسته ها، برچسب ها نسخه ای به صورت XML به شما تحویل دهد و همچنین در موارد دیگری نیز آن را دریافت کند همین امر درون ریزی و برون بری است.
شما از درون ریزی برای وارد کردن محتوای دموی قالب ها و یا هر گونه محتوایی استفاده می کنید و همچنین اگر بخواهید محتوایی را از آن بگیرید می توانید از برون بری استفاده کنید. پس با کمک این ابزار نیز فقط از محتوا می توانید بک آپ تهیه کنید.

بک اپ گیری در وردپرس
بک اپ گیری در وردپرس

حال تا اینجا ما فقط اطلاعات رو از بخش برون بری بک آپ گرفتیم، برای بازگرداندن آن در مواقع ضروری و مد نظر باید از ابزار درون ریزی استفاده کنید.این همان restore کردن اطلاعات شماست که با وارد کردن آدرس http://www.yoursite.com/wp-admin/import.php میتونین مشاهده کنید.تمامی بخش هایی که شما مدنظر دارید در این بخش به راحتی قابل برگرداندن است!

آموزش بک اپ گیری در وردپرس
آموزش بک اپ گیری در وردپرس

تهیه ی نسخه ی پشتیبان از پایگاه داده

تهیه ی نسخه ی پشتیبان از دیتابیس نیز امری ضروریست که می توانید از پنل هاست این کار را انجام دهید.
وارد phpmyadmin از زیر منوی Database شوید.

17-5

حالا از منوی سمت چپ پایگاه داده ی وبسایت خود را انتخاب کنید.
پس از انتخاب گزینه ی export را کلیک نمایید.و اطلاعات خواسته شده را وارد کنید . برای این بخش دو راه پیش روی شماست:
۱- با زدن دکمه ی select all از تمامی دیتابیس می توانید بک آپ بگیرید اما چون معمولاً از حجم بالایی برخوردار می باشد ممکن است بخشی از اطلاعات از بین برود.
۲- برای اطمینان بیشتر از هر جدول به صورت جداگانه بک آپ گیری کنید. این روش رو پیشنهاد میکنم!

17-6

نکته ی مهم در این روش این است که به جداول تکراری حساس می باشد و اگر یک جدول دو بار بک آپ گرفته شود به شما پیغام خطا داده می شود. پس دقت کنید.

افزونه های وردپرس

افزونه های متعددی نیز در وردپرس برای تهیه ی نسخه ی پشتیبان و بازگردانی آن وجود دارد که بسیار قوی هستند و می توان به آنها اعتماد کرد.البته بیشتر آن ها علاوه بر حالت دستی به صورت اتوماتیک نیز از سایت بک آپ می گیرند. در این مورد در پیشگام وب بسیار توضیح دادیم و در اینجا به همین توضیح کوتاه اکتفا می کنیم.

جمع بندی!

فرض کنید تمامی کارهای سایت خود را در حال حاضر انجام داده اید و تنظیمات دلخواه خود را پیاده سازی کردید و در حال حاضر مطالب خود را بر روی سایت بارگذاری می کنید. از همینجا باید تصمیم بگیرید که با توجه به زمان بروز رسانی سایت، نسخه ی پشتیبان تهیه کنید تا در مواقعی که مشکلی پیش آمد تمامی زحمات شما هدر نشود.