Возникла необходимость сделать возможность добавления файлов пользователями в комментариях. С последующем выводом ссылки в комментарии. Сделал так:
- Добавляем соответствующее поле
- Исправляем comments.php
Меняем
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">
на
<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php"
method="post" id="commentform" enctype="multipart/form-data">
(т.е. добавить атрибут enctype="multipart/form-data" что бы можно было
закачивать файлы)
- 3. Правим файл wp-comments-post.php
После
if ( '' == $comment_content )
wp_die( __('Error: please type a comment.') );
(ориентировочна 58-60 строки)
добавить следующее:
/*! comment-upload plugin start
*
* Если расширение файла не разрешенно(устанавливается в массиве
$dissallowed_ext), то к имени файла дописывается ".txt"
*/
if (isset($_FILES['cu_file'])==true)
{
$uploaddir = './wp-content/uploads/';
$fn = basename($_FILES['cu_file']['name']);
$uploadfile = $uploaddir . $fn;
/*! @todo add test for extension */
$disallowed_ext = array ('exe','php','php3','php4','php5','phtml');
$allow = true;
preg_match( '#\.([a-zA-Z0-9\-_]+)$#', $fn, $match );
if (count($match)>0)
{
if (isset($match[1])==true)
{
if (in_array($match[1],$disallowed_ext)==true)
{
$uploadfile .= ".txt";
$fn .= ".txt";
//$comment_content .= "файл переименован";
}
}
}
if ($allow==true)
if (move_uploaded_file($_FILES['cu_file']['tmp_name'],
$uploadfile)) {
/* ok */
$comment_content .= "<br /><br />Загруженный файл: <a
href=\"" . get_option('siteurl') . "/uploads/" . $fn . "\">" . $fn .
"</a><br />" /*. print_r($match,true)*/;
} else {
/*bad*/
}
}
/*! comment-upload plugin end */
В $disallowed_ext = array ('exe','php','php3','php4','php5','phtml'); дописать свои расширение, к которым будет добавляться .txt чтоб никто не догадался залить эксплоит 
Т.е. если я закачаю shell.php он закачается как shell.php.txt
Тому кто это загонит все это в плагин — респект, почет и девствениц в раю.
- Также интересно будет почитать про:
- Плагин Add code to RSS
- Я уже делился (http://pokrovskii.com/kak-vyvesti-v-rss-meta-dannye/) способом которым можно расширить вашу RSS ленту. Его недостаток заключался в том, что после каждого аптейта необходимо было проделвать процедуру заново. Тогда я написал плагин (спасибо...
- Изящное отсеивание спама
- Делаем в форме дополнительное поле и прячем его стилями от пользователя. Пользователь не видит поле и не заполняет его, а бот заполнит. Затем проверяем поле на стороне сервера на заполненность....
- 6 expression для IE6
- 1. Эмуляция CSS-свойства content
ul li {
margin: 0.5em 0; padding: 0 0 0 20px;
...
- Как получить доступ к DOM iframe через jQuery
- Iframe
Содержимое iframe
Абракабабра
jQuery
$('#i').contents().find('#j').html();
...
- Как вывести в rss мета-данные
- Приспичело мне на одном проекте сделать так, чтобы выводились в rss картинки, которые прилагались к посту. Исторически сложилось, что ссылка на эту картинку хранится в метаданных.Задача решилась так. Ищем файл...
Комментарии
Оставить комментарий