Permite toate tipurile de fișiere pentru încărcare
Folosesc Wordpress 3.4.2 pentru un blog privat, adică unul pe care doar eu pot posta. Acum, WordPress mă împiedică să încarc anumite tipuri de fișiere (cum ar fi fișierele sursă C#). Din câte înțeleg, există o listă albă care definește ce se poate încărca.
Există vreun plugin care să poată extinde - sau mai bine, chiar să dezactiveze - această listă albă?
Toate celelalte răspunsuri îmi spun că ar trebui să editez tema mea, dar aș prefera să am un plugin pentru asta (astfel încât să nu fie nevoie să editez toate temele mele).
De asemenea, am găsit acest plugin dar, din nou, necesită să editez un fișier pe serverul meu (care probabil este suprascris când pluginul este actualizat).
Deci, mai există și altceva?
Aceasta, în wp-config.php. Chiar nu înțeleg de ce nu este implicită, cel puțin pentru administratori.

Totuși, nu îmi permite să încarc, de exemplu, fișiere ".exe" "din motive de securitate". (Poate este o problemă a plugin-ului meu Real media library?) Utilizator admin. Permiterea tipurilor mime specific prin filtrul upload_mimes funcționează.

Care sunt implicațiile de securitate pentru aceasta? Dezactivarea acestei setări îmi lasă site-ul vulnerabil la încărcarea de scripturi malitioase etc.?

@AbrahamBrookes - Sunt sigur că există preocupări legate de securitate. Oricând permiți mai multe lucruri, mai multe lucruri te pot afecta. Lucrez cu multe site-uri private protejate prin SSO, așa că nu este o problemă majoră pentru mine. Dar pentru un site public, nu ai avea o funcționalitate de încărcare pe partea de front-end sau ai limita scriptul de încărcare pe front-end doar la ceea ce ai ales în whitelist. Această setare îți resetează site-ul "la starea inițială" - și având în vedere cerința C#, practic trebuie să faci asta mai întâi. Am și un script de whitelist, dar asta nu era întrebarea.

Filtrează 'user_has_cap'
și setează 'unfiltered_upload'
la 1.
Exemplu de cod netestat:
/*
Plugin Name: Elimină Filtrul la Încărcări
Plugin URI: http://wordpress.stackexchange.com/questions/67225/allow-all-file-types-for-upload
Description: Dezactivează filtrul de listă albă pentru încărcări
Version: 1.0
Author: WPSE - @toscho
*/
add_filter( 'user_has_cap', 'wpse_67225_unfiltered_upload' );
function wpse_67225_unfiltered_upload( $caps )
{
$caps['unfiltered_upload'] = 1;
return $caps;
}

Din păcate, răspunsul lui toscho nu funcționează - cel puțin nu în WordPress 3.4 și versiunile superioare.
Soluția corectă este următoarea:
#
# Pentru asta, vezi: wp-includes/capabilities.php > map_meta_cap()
#
function wpse_6533_map_unrestricted_upload_filter($caps, $cap) {
if ($cap == 'unfiltered_upload') {
$caps = array();
$caps[] = $cap;
}
return $caps;
}
add_filter('map_meta_cap', 'wpse_6533_map_unrestricted_upload_filter', 0, 2);

Salut, unde ar trebui să pun codul de mai sus? Va funcționa dacă îl pun în functions.php?

@LeonardDrapeza Da, poți să-l pui în functions.php
al temei tale. Dar atunci, acest lucru va funcționa doar atât timp cât tema ta este activă, din câte știu eu.

Totuși, nu îmi permite să încarc, de exemplu, fișiere ".exe" "din motive de securitate". (Poate fi o problemă a plugin-ului meu Real media library?) Utilizator admin. Permiterea tipurilor mime specific prin filtrul upload_mimes funcționează.
