wpcf7_antiscript_file_name()
Converts a file name to one that is not executable as a script.
Хуков нет.
Возвращает
Строку
. Converted file name.
Использование
wpcf7_antiscript_file_name( $filename );
- $filename(строка) (обязательный)
- File name.
Код wpcf7_antiscript_file_name() wpcf7 antiscript file name CF7 5.9.8
function wpcf7_antiscript_file_name( $filename ) { $filename = wp_basename( $filename ); // Apply part of protection logic from sanitize_file_name(). $filename = str_replace( array( '?', '[', ']', '/', '\\', '=', '<', '>', ':', ';', ',', "'", '"', '&', '$', '#', '*', '(', ')', '|', '~', '`', '!', '{', '}', '%', '+', '’', '«', '»', '”', '“', chr( 0 ) ), '', $filename ); $filename = preg_replace( '/[\r\n\t -]+/', '-', $filename ); $filename = preg_replace( '/[\pC\pZ]+/iu', '', $filename ); $parts = explode( '.', $filename ); if ( count( $parts ) < 2 ) { return $filename; } $script_pattern = '/^(php|phtml|pl|py|rb|cgi|asp|aspx)\d?$/i'; $filename = array_shift( $parts ); $extension = array_pop( $parts ); foreach ( (array) $parts as $part ) { if ( preg_match( $script_pattern, $part ) ) { $filename .= '.' . $part . '_'; } else { $filename .= '.' . $part; } } if ( preg_match( $script_pattern, $extension ) ) { $filename .= '.' . $extension . '_.txt'; } else { $filename .= '.' . $extension; } return $filename; }