Senin içinde .muttrceklenti aşağıdaki satırı:
set display_filter="exec sed -r \"s/^Date:\\s*(([F-Wa-u]{3},\\s*)?[[:digit:]]{1,2}\\s+[A-Sa-y]{3}\\s+[[:digit:]]{4}\\s+[[:digit:]]{1,2}:[[:digit:]]{1,2}(:[[:digit:]]{1,2})?\\s+[+-][[:digit:]]{4})/date +'Date: %a, %d %b %Y %H:%M:%S %z' -d '\\1'/e\""
Bu, Date:başlık geçerli bir RFC biçimli tarih içeriyorsa iletideki üstbilgiyi (yalnızca görüntüleme için) yerel saat diliminize değiştirir. Sağlanan tarih biçimi yanlışsa (sonuçta güvenilmeyen kullanıcı girişi ile ilgileniyoruz) korunacaktır. Kabuk kodunu başlıktan enjekte etmek için olası bir girişimle mücadele etmek için, seddesen RFC 5322'ye dayalı bir beyaz liste uygular (bu RFC Date:alanın biçimini tanımlar ).
Not mutten fazla 255 karakter olmak için komut satırını sınırlar uzun, dolayısıyla ben orijinal optimize sed255 bayt sığmayacak beyaz listesi sıkı vardı komutu. İletiyle başka şeyler yapmayı planlıyorsanız sed, bir komut dosyasına koyabileceğiniz tam komut:
sed -r "s/^Date:\s*(((Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s*)?[[:digit:]]{1,2}\s+(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+[[:digit:]]{4}\s+[[:digit:]]{1,2}:[[:digit:]]{1,2}(:[[:digit:]]{1,2})?\s+[+-][[:digit:]]{4})/date +'Date: %a, %d %b %Y %H:%M:%S %z' -d '\1'/e"
filter.sed. Teşekkürler!