
Recherche avancée
Médias (91)
-
Valkaama DVD Cover Outside
4 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Valkaama DVD Cover Inside
4 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
1,000,000
27 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Demon Seed
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
The Four of Us are Dying
26 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
Autres articles (100)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
Multilang : améliorer l’interface pour les blocs multilingues
18 février 2011, parMultilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela. -
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)
Sur d’autres sites (8091)
-
Rails Streamio FFMPEG taking a screenshot of the movie and upload with carrierwave
5 juin 2016, par FelixI have got a Form where I can upload a movie. Its uploaded with carrierwave.
In this process I want to Make a screenshot of the movie while uploading.
How can I do this with Streamio FFMPEG.
My code Looks like this at the moment.
#Laedt ein Video hoch
def uploadMovie
@channels = Channel.all
@vid = Movie.new(movies_params)
@channel = Channel.find(params[:channel_id])
@vid.channel = @channel
if @vid.save
flash[:notice] = t("flash.saved")
render :add
else
render :add
end
endDo I have to do this in controller method or in the carrierwave uplaoder ?
Update : I tried it this way :
if @vid.save
flash[:notice] = t("flash.saved")
movieFile = FFMPEG::Movie.new(@vid.video.to_s)
screenshot = movieFile.screenshot("uploads/screenshot", :seek_time => 10)
render :add
elseBut then I got tis error :
s3.amazonaws.com/uploads/movie/video/6/2016-04-24_16.26.10.mp4' does not exist
-
Evolution #4158 (En cours) : Permettre de faire une mise à jour de spip qui posséde le même numéro...
9 juillet 2018, par b bEs-tu certain,, as-tu testé ? J’ai souvenir que le loader récupère le zip à partir du moment où on le lance. Donc à partir du moment où tu es branché sur les zips de dev, il doit bien récupérer la dernière version en date du zip en question.
-
Evolution #3926 : Remplacement de safehtml par le plug htmlpurifier ou autre
17 août 2018, par Guillaume FahrnerAprès avoir passé pas mal de temps à chercher une solution sécurisée ET fonctionnelle, voilà ce à quoi je suis arrivé sans tout casser ou devoir normaliser "100ans d’historique". La version de SPIP utilisé est SPIP 3.2.1 [23954]. En court : j’inverse la logique actuelle et je fais confiance à la sortie de safehtml du plugin Purifier :
j’ai modifié la fonction echapper_html_suspect() de inc/texte_mini.php, la fonction echappe_anti_xss() du plugin textwheel et 2 règles YAML et... c’est tout :
inc/texte_mini.php :
- <span class="CodeRay"><span class="keyword">function</span> <span class="function">echapper_html_suspect</span>(<span class="local-variable">$texte</span>, <span class="local-variable">$strict</span>=<span class="predefined-constant">true</span>) {
- <span class="keyword">if</span> (!<span class="local-variable">$texte</span>
- <span class="keyword">or</span> <span class="predefined">strpos</span>(<span class="local-variable">$texte</span>, <span class="string"><span class="delimiter">'</span><span class="content"><</span><span class="delimiter">'</span></span>) === <span class="predefined-constant">false</span> <span class="keyword">or</span> <span class="predefined">strpos</span>(<span class="local-variable">$texte</span>, <span class="string"><span class="delimiter">'</span><span class="content">=</span><span class="delimiter">'</span></span>) === <span class="predefined-constant">false</span>) {
- <span class="keyword">return</span> <span class="local-variable">$texte</span>;
- }
- <span class="comment">// quand c'est du texte qui passe par propre on est plus coulant tant qu'il y a pas d'attribut du type onxxx=</span>
- <span class="comment">// car sinon on declenche sur les modeles ou ressources</span>
- <span class="keyword">if</span> (!<span class="local-variable">$strict</span> <span class="keyword">and</span>
- (<span class="predefined">strpos</span>(<span class="local-variable">$texte</span>,<span class="string"><span class="delimiter">'</span><span class="content">on</span><span class="delimiter">'</span></span>) === <span class="predefined-constant">false</span> <span class="keyword">or</span> !<span class="predefined">preg_match</span>(<span class="string"><span class="delimiter">"</span><span class="content">,<</span><span class="content">\w</span><span class="content">+.*</span><span class="content">\b</span><span class="content">on</span><span class="content">\w</span><span class="content">+</span><span class="content">\s</span><span class="content">*=,UimsS</span><span class="delimiter">"</span></span>, <span class="local-variable">$texte</span>))
- ){
- <span class="keyword">return</span> <span class="local-variable">$texte</span>;
- }
- <span class="local-variable">$safed_texte</span> = safehtml(<span class="local-variable">$texte</span>);
- <span class="keyword">if</span> (<span class="predefined">strlen</span>(<span class="local-variable">$safed_texte</span>) !== <span class="predefined">strlen</span>(<span class="local-variable">$texte</span>)) {
- <span class="local-variable">$texte</span> = <span class="local-variable">$safed_texte</span>;
- }
- <span class="keyword">return</span> <span class="local-variable">$texte</span>;
- }
- </span>
plugins-dist/textwheel/wheels/spip/echappe-js.php :
- <span class="CodeRay"><span class="keyword">function</span> <span class="function">echappe_anti_xss</span>(<span class="local-variable">$match</span>) {
- <span class="keyword">static</span> <span class="local-variable">$safehtml</span>;
- <span class="keyword">if</span> (!<span class="predefined">is_array</span>(<span class="local-variable">$match</span>) <span class="keyword">or</span> !<span class="predefined">strlen</span>(<span class="local-variable">$match</span>[<span class="integer">0</span>])) {
- <span class="keyword">return</span> <span class="string"><span class="delimiter">"</span><span class="delimiter">"</span></span>;
- }
- <span class="local-variable">$texte</span> = &<span class="local-variable">$match</span>[<span class="integer">0</span>];
- <span class="keyword">if</span> (
- (<span class="predefined">strpos</span>(<span class="local-variable">$texte</span>, <span class="string"><span class="delimiter">"</span><span class="content">:</span><span class="delimiter">"</span></span>) !== <span class="predefined-constant">false</span> <span class="keyword">and</span> <span class="predefined">preg_match</span>(<span class="string"><span class="delimiter">"</span><span class="content">,(data|script)</span><span class="content">\s</span><span class="content">*:,iS</span><span class="delimiter">"</span></span>, <span class="local-variable">$texte</span>) ) <span class="keyword">or</span>
- (<span class="predefined">stripos</span>(<span class="local-variable">$texte</span>, <span class="string"><span class="delimiter">"</span><span class="content">on</span><span class="delimiter">"</span></span>) !== <span class="predefined-constant">false</span> <span class="keyword">and</span> <span class="predefined">preg_match</span>(<span class="string"><span class="delimiter">"</span><span class="content">,</span><span class="content">\b</span><span class="content">on</span><span class="content">\w</span><span class="content">+</span><span class="content">\s</span><span class="content">*=,i</span><span class="delimiter">"</span></span>, <span class="local-variable">$texte</span>) )
- ) {
- <span class="keyword">if</span> (!<span class="predefined">isset</span>(<span class="local-variable">$safehtml</span>)) {
- <span class="local-variable">$safehtml</span> = charger_fonction(<span class="string"><span class="delimiter">'</span><span class="content">safehtml</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">inc</span><span class="delimiter">'</span></span>, <span class="predefined-constant">true</span>);
- }
- <span class="local-variable">$texte</span> = <span class="local-variable">$safehtml</span>(<span class="local-variable">$texte</span>);
- }
- <span class="keyword">return</span> <span class="local-variable">$texte</span>;
- }
- </span>
plugins-dist/textwheel/wheels/spip/echappe-js.yaml :
- <span class="CodeRay">-
- <span class="key">if_str</span>: <span class="string"><span class="delimiter">"</span><span class="content"><code class="echappe-js"><script</span><span class="delimiter">"</span></span> <br />
- <span class="key">match</span>: <span class="string"><span class="delimiter">"</span><span class="content">{<script.*?($|</script.
)isS"
is_wheel : y
replace :
-
type : all
replace : htmlspecialchars
is_callback : Y
-
type : all
replace : nl2br
is_callback : Y
-
type : all
replace : "< ;code class=\"echappe-js\"> ;$0< ;/code> ;"
if_str : "< ;"
match : "< ;[a-z]+.* ?($|> ;)UisS"
is_callback : Y
replace : echappe_anti_xss
plugins-dist/textwheel/wheels/spip/interdire-scripts.yaml :
- <span class="CodeRay"><span class="key">securite-js</span>:
- <span class="key">if_str</span>: <span class="string"><span class="delimiter">"</span><span class="content"><</span><span class="delimiter">"</span></span>
- <span class="key">if_match</span>: <span class="string"><span class="delimiter">"</span><span class="content">/<[a-z]+/iS</span><span class="delimiter">"</span></span>
- <span class="key">type</span>: <span class="string"><span class="content">all</span></span>
- <span class="key">replace</span>: <span class="string"><span class="delimiter">"</span><span class="content">echappe_js</span><span class="delimiter">"</span></span>
- <span class="key">is_callback</span>: <span class="string"><span class="content">Y</span></span>
- </span>
Pour le moment, du coté des effets de bord/choses cassées (nos fonctions sont remplis de spip_log() et on affiche le code impacté par safehtml() pour identifier rapidement les régressions) :
- le changement de statut via le survol des puces (onmouseover inline) n’existe plus car l’attribut onmouseover est supprimé par htmlPurifier (rien de compliqué a fixer à mon sens, mieux cela oblige à développer (très) proprement, jme propose pour le patch si besoin)
Sinon pas de problème, on publie/modifie/supprime nos objets éditoriaux comme d’habitude, leur mise en forme n’a pas bougé, on install/update/supprime nos plugins, stats OK, config OK, etc, etc (cela fait déjà plusieurs jours que nous utilisons ces modifications).
Coté performance, la machine virtuelle est suivi via SNMP/librenms et on ne voit aucune différence d’utilisation CPU (merci le cache SPIP et OPcache) entre avant/après. D’autre part, htmlPurifier n’est pas appelé tout le temps, loin de là, on ne passe que "rarement" les conditions dans echappe_anti_xss().
Coté sécurité :
- les charges javascript https://gist.githubusercontent.com/kurobeats/9a613c9ab68914312cbb415134795b45/raw/954b4d3a29cd0fbeb5b841b54126326a6c14a5c1/xss_vectors.txt ont toutes été testées sans problème
- safehtml($_GET[]) a passé les tests des scanners de vulnérabilité web BURP Pro et Acunetix Web Scanner sans problème
Coté publication :
Cela me semble risqué d’attendre une version majeure de SPIP avant de corriger ces problèmes de sécurité ; surtout que la transition peut se faire doucement en 3.2 avec une nouvelle version de textwheel et le remplacement (enfin) de plugin-dist/safehtml par htmlpurifier.En espérant que ça aide et vous serve de base pour la suite.
g0uZ