dedecms 后台自定义表单统计没审核的 代码
input标签中加入限制输入类型的控制:
限制只能输入文字:
oninput="value=valuereplace(/[^\u4e00-\u9fa5]/g,'')"
限制只能输入数字:
oninput="value=valuereplace(/[^\d]/g,'')"
限制输入内容字节长度小于20:
oninput="value=valuereplace(/[^a-zA-Z0-9]+$/,'');if(valuelength>20)value=valueslice(0,20)"
用户名,密码复杂性,即使hack拿到密码也不容易逆转破解;后台目录务必重命名,越复杂最好;关注官方网站,跟相应的杀毒软件,定时修补补丁,定时查杀多余php文件;
后台设置,删除多余会员,关闭会员功能,系统基本参数-会员设置,互动设置等限制;
精简设置,不需要的功能都删掉,每个目录下加一个空的indexhtml,防止目录被访问;可删除的功能:member,special,install(必删),company(企业模块),plus\guesbook留言板等一般用不上的功能;
可以删除不必要但容易受攻击的文件(再文件夹下搜索即可):file_manage_controlphp,file_manage_mainphp,file_manage_viewphp,media_addphp,media_editphp,media_mainphp,downloadphp(没有下载功能),feedbackphp(评论功能)这些文件是后台文件管理器(这俩个功能最多余,也最影响安全,许多HACK都是通过它来挂马的。它简直就是小型挂马器,上传编辑木马忒方便了。一般用不上统统删除) 。
不需要SQL命令运行器的将dede/sys_sql_queryphp 文件删除。避免HACK利用。
不需要tag功能请将根目录下的tagphp删除。不需要顶客请将根目录下的diggphp与diggindexphp删除。
为了防止HACK利用发布文档,上传木马。请安装完成后阻止上传PHP代码。到此基本堵上了所有上传与编辑木马的可能性。(在50以上的版本本身已经作好修改了,这点经测试比较过的)
织梦权限设置,
1>include,plus,member等附加组件 可读取 不可写入 执行脚本(纯脚本)
data、templets、uploads,images 可读写 不可执行(执行权限无)
2>设置iis权限,去掉user权限,自己设置一个权限;目录设置、不允许执行脚本:
织梦关闭自定义表单前台预览,删除友情链接申请功能;网站提交登陆一定要有验证码,防止hack暴力破解,提交。
也可以使用第三方安全插件:如360网站卫士,DedeCms万能安全防护代码等也可以使用织梦自带的木马查杀攻击:系统—病毒扫描—开始扫描,删除织梦系统以为的php文件;
这个自定义表单,需要你自自定义字段的,字段定义好,浏览查看源代码,代码就会自己出来 了、
下一步:
下一步就是定义字段:
字段定义好:
直接前台浏览,然后查看源代码就好了。
希望对你有所帮助。
记得PHP默认没有开启GD库的支持,需要自行开启。于是就打开PHP安装目录/phpini配置文件,找到如下内容:
;extension=php_gd2dll
按照网上搜索得来的方法,去掉前面表示注释的符号";",然后重新启动Apache,结果发现还是不行,通过phpinfo()函数仍然无法看到任何与GD库相关的信息。看到网上很多关于「PHP开启GD库」的文章,都是直接说一句「去掉xxx前面的分号」,就没有下文了。事实证明,仅仅这么做明显是不行的,至少官方zip版本的php这么配置是不行的。
于是就只好自己检查phpini的配置内容,最后发现其中有如下一行:
;extension_dir = "ext" //这里是windows的
linux的好像是 ;extension_dir = "/"
很明显,extension_dir指令被注释掉了,导致php连扩展库的ext都找不到,自然不可能找到扩展库中的php_gd2dll了,gd库支持自然也没有开启。
于是,照猫画虎地去掉extension_dir指令前面的注释符号";",再次重启服务器,结果……还是不行。这不科学啊,难道extension_dir指令的值"ext"有问题?
PHP官方说,PHP5搜索扩展库的默认位置为C:\php5,于是尝试着按照官方的说法,仍然让extension_dir保持被注释掉的现状,在C盘下新建了一个php5文件夹,然后将php_gd2dll复制进去,再次重新启动服务器,结果……还是不行。
此时,通过phpinfo()函数查看得知,在phpini中没有开启extension_dir指令时,phpinfo()上的extension_dir显示的值居然是C:\php——难道官方的说明文档也出错了,或者说PHP 54这个版本已经作了变更、而官方文档还没有及时更新?其他的先不管那么多了,先试试C:\php行不行,于是将php5重命名为php,其他一切照旧,接着重新启动,然后通过phpinfo()函数查看到gd库已经开启了。——这至少证明,在PHP 5419中,扩展库的默认搜索位置为C:\php。
当然,众所周知,extension_dir指令是支持绝对路径的,上面折腾半天,主要是为了搞明白extension_dir指令的作用与影响。最后还是将extension_dir前面的注释符号";"去掉,然后将其值改为ext的绝对路径,详细代码如下:
extension_dir = "F:/419/ext" //windows写法。。。因情而定
综上所述,对于php官方版而言,要开启gd库支持,不仅要去掉extension=_gd2dll前的注释符号,还要去掉extension_dir指令前的注释符号,并将其值作对应修改。当然,不仅仅是gd库,如果需要开启其他PHP扩展库,例如php_mysql、php_mysqli,方法也是类似的。
1编辑器打开plusdiyphp
2在40行左右找到此行代码:
$dede_fields=empty($dede_fields)'':trim($dede_fields);
3在这一行代码之下,加入代码,复制的话删掉代码中的空行
//增加必填字段判断
if($required!=''){
if(preg_match('/,/',$required))
{
$requireds=explode(',',$required);
foreach($requiredsas$field){
if($$field==''){
showMsg('带号的为必填内容,请正确填写','-1');
exit();
}
}
}else{
if($required==''){
showMsg('带号的为必填内容,请正确填写','-1');
exit();
}
}
}
//end
4保存完成后,在表单模版页面找到这行代码:
<formaction="/plus/diyphp"enctype="multipart/form-data"method="post">
在这行代码之下,加入代码:
<inputtype="hidden"name="required"value="数据字段名,数据字段名"/>
注意这行代码要修改下,根据你的表单所需要设置的必填项,例如设置“姓名”、“邮箱”为必填项
添加新字段--“表单提示文字”:姓名--“字段名称”:name
添加新字段--“表单提示文字”:邮箱--“字段名称”:email
此行代码应为:
<inputtype="hidden"name="required"value="name,email"/>
这样就把这两个选项设置为必填项了,如果没有填写就提交,会打开窗口提示“带号的为必填内容,请正确填写”,当然,这一句话可以改成其它的文字
网上看到另一种方法,未测试,仅作为资料收藏
js方法:
1先在要发布表单的模板上加
<scriptsrc='你的路径/jsjs'type="text/javascript"></script>
2在你自定义的路径新建文件jsjs,然后复制以下内容粘贴保存,代码:
<!--
$(document)ready(function()
{
//验证
$('complain')submit(function()
{
if($('name')val()==""){
$('name')focus();
alert("用户名不能为空!");
returnfalse;
}
if($('tel')val()=="")
{
$('tel')focus();
alert("联系电话不能为空!");
returnfalse;
}
if($('title')val()=="")
{
$('title')focus();
alert("标题不能为空!");
returnfalse;
}
if($('text')val()=="")
{
$('text')focus();
alert("具体内容不能为空!");
returnfalse;
}
})
});
-->
注:
$('complain')submit(function()//complain为自定义表单的ID,如果生成的表单没有可以自行加上,即id="complain"
if($('name')val()==""){
$('name')focus();//name为要验证表单中的ID,如想让用户名不能为空,在后台用户名的数据字段名设为name,下同
3设置好后更新就可以看到效果了
希望本文所述对大家的dedecms建站有所帮助。
模板前端后端都正常,但自己的模板提交后显示不正常,原因:
自定义表单,增加字段、减少字段、更改字段,表单验证都会发生变化,在确认更改后,回到模板提交页面,右键原代码,下面两处会发生变化(举例),你自己的模板页面随着要进行更改,否则就会出现此错误。
<input type="hidden" name="dede_fields"
value="xingming,text;dianhua,text;youxiang,text;liuyan,multitext;gongsi,text;nativeplace,text;tzed,select;hfsj,radio;shijian,text" />
<input type="hidden" name="dede_fieldshash" value="dde4685d746ba7b46a435b5292aa882a" />
0条评论