|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
聪明的你,显然已经逐渐的开悟了,慢慢的理解了编程的概念,那么祝贺你,你已经迈出了成功的第一步。假如想要wordpress当作一个cms来利用,那上面的平安设置装备摆设是必需要看的了。 假如想要wordpress当作一个cms来利用,那上面的平安设置装备摆设是必需要看的了。
1、去失落wordpress版本号信息
wp-includes/general-template.php第2204行 $gen = ‘<meta name=”generator” content=”WordPress ‘ . get_bloginfo( ‘version’ ) . ‘” 去失落外面一切版本号信息
2、删除上面文件外面的版本信息
wp-admin/includes/export.php 这里是定阅页面,还要删除wp-includes/general-template.php外面的一切信息,不然一样显示
wp-admin/admin-footer.php <p id=”footer-upgrade”><?php echo $upgrade; ?></p>
3、制止会见wp-includes文件夹和wp-admin文件夹
apache的用户,可经由过程.htaccess来完成,其他用户可经由过程在该文件夹上面创立一个空白html文件,再加上rewrite划定规矩完成。
4、删除失落一切插件的附带信息,防止有心人使用插件破绽来入侵,最好也制止会见wp-content上面的plugins文件夹和themes文件夹,办法如上一步。
5、删除后台首页版本号和主题信息
wp-admin/includes/dashboard.php,删除失落上面这段代码
echo “\n\t”.’<div>’;
$ct = current_theme_info();
echo “\n\t<p>”;
if ( !empty($wp_registered_sidebars) ) {
$sidebars_widgets = wp_get_sidebars_widgets();
$num_widgets = 0;
foreach ( (array) $sidebars_widgets as $k => $v ) {
if ( ‘wp_inactive_widgets’ == $k )
continue;
if ( is_array($v) )
$num_widgets = $num_widgets + count($v);
}
$num = number_format_i18n( $num_widgets );
$switch_themes = $ct->title;
if ( current_user_can( ‘switch_themes’) ) {
echo ‘<a href=”themes.php”>’ . __(‘Change Theme’) . ‘</a>’;
$switch_themes = ‘<a href=”themes.php”>’ . $switch_themes . ‘</a>’;
}
if ( current_user_can( ‘edit_theme_options’ ) ) {
printf(_n(‘Theme <span>%1$s</span> with <span><a href=”widgets.php”>%2$s Widget</a></span>’, ‘Theme <span>%1$s</span> with <span><a href=”widgets.php”>%2$s Widgets</a></span>’, $num_widgets), $switch_themes, $num);
} else {
printf(_n(‘Theme <span>%1$s</span> with <span>%2$s Widget</span>’, ‘Theme <span>%1$s</span> with <span>%2$s Widgets</span>’, $num_widgets), $switch_themes, $num);
}
} else {
if ( current_user_can( ‘switch_themes’ ) ) {
echo ‘<a href=”themes.php”>’ . __(‘Change Theme’) . ‘</a>’;
printf( __(‘Theme <span><a href=”themes.php”>%1$s</a></span>’), $ct->title );
} else {
printf( __(‘Theme <span>%1$s</span>’), $ct->title );
}
}
echo ‘</p>’;
update_right_now_message();
echo “\n\t”.’<br /></div>’;
6、上岸页装上login-lockdown插件,防止暴力破解用户暗码,假如开放会员注册功效,请按上面的办法修正上岸页,不然请把根目次上面的wp-login.php更名后,丢到其他你本人晓得的文件夹外面,然后修正这个上岸文件相干地址,很复杂,普通直接用你的新地址全体交换wp-login.php这个地址差不多了。最初还要修正wp-includes/general-template.php第215行,这里是后台点加入后跳转到的地址,修正成上岸页新地址。
开放会员注册,就要避免其他用户歹意修正暗码。在找回暗码的页面,请求同时输出用户名和邮箱,如许对照保险。办法以下:
wp-login.php 第391行,多加一行。
<p>
<label><?php _e(‘Username’) ?><br />
<input type=”text” name=”user_login” id=”user_login” value=”" size=”20″ tabindex=”10″ /></label>
</p>
<p>
<label><?php _e(‘E-mail:’) ?><br />
<input type=”text” name=”user_login” id=”user_login” value=”" size=”20″ tabindex=”10″ controlName=”email” dataType=”user_login” /></label>
</p>
传递体例前面加上method=”post” onsubmit=”return validator(this);”
下面加上检测email剧本
<script language=”javascript” type=”text/javascript”>
String.prototype.isEmpty = function () {
return !(/.?[^\s ]+/.test(this));
}
String.prototype.isBetween = function (val, min, max) {
return isNaN(val) == false && val >= min && val <= max;
}
String.prototype.getBetweenVal = function (what) {
var val = this.split(‘,’);
var min = val[0];
var max = val[1] == null ? val[0] : val[1];
if (parseInt(min) > parseInt(max)) {
min = max;
max = val[0];
}
return what == ‘min’ ? (isNaN(min) ? null : min) : (isNaN(max) ? null : max);
}
var validator = function (formObj) {
this.allTags = formObj.getElementsByTagName(‘*’);
this.reg = new Object();
this.reg.user_login = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
this.tip = new Object();
this.tip.user_login = ‘ Is not a valid e-mail format’;
this.getControlName = function ()
{
return this.element.getAttribute(‘controlName’) == null
? ‘The value of the specified control’
: this.element.getAttribute(‘controlName’);
}
this.setFocus = function (ele) {
try {
ele.focus();
} catch (e){}
}
this.setBorderColor = function (ele) {
var borderColor = ele.currentStyle ?
ele.currentStyle.borderColor :
document.defaultView.getComputedStyle(ele, null)['borderColor'];
ele.style.borderColor = ‘#ff9900′;
ele.onkeyup = function () {
this.style.borderColor = borderColor;
}
}
//输入毛病反应信息
this.feedback = function (type) {
try {
var msg = eval(‘this.tip.’ + type) == undefined ?
type :
this.getControlName() + eval(‘this.tip.’ + type);
} catch (e) {
msg = type;
}
this.setBorderColor(this.element);
alert(msg);
this.setFocus(this.element);
};
this.validate = function () {
var v = this.element.value;
var dataType = this.element.getAttribute(‘dataType’);
if (!v.isEmpty() && dataType != null && dataType.toLowerCase() != ‘password’) {
dataType = dataType.toLowerCase();
try {
if (!(eval(‘this.reg.’ + dataType)).test(v)) {
this.feedback(dataType);
return false;
}
} catch(e) {
this.feedback(‘unknow’);
return false;
}
}
return true;
};
this.init = function () {
for (var i=0; i<this.allTags.length; i++) {
if (this.allTags[i].tagName.toUpperCase() == ‘INPUT’
this.allTags[i].tagName.toUpperCase() == ‘SELECT’
this.allTags[i].tagName.toUpperCase() == ‘TEXTAREA’)
{
this.element = allTags[i];
if (!this.validate())
return false;
}
}
};
return this.init();
}
</script>
假如有心人阅读器禁用js剧本,那就只能经由过程修正php法式来完成了。
7、必需要尽全力回护好wp-config.php这个文件
先要先制止搜刮引擎收录wp-开首的文件和文件夹,特别要记得这一步,不然在你设置装备摆设办事器的时分,假如php情况不克不及当即设置装备摆设好,那他人会见的时分,极可能直接显示wp-config.php的代码,你的网站数据库信息被搜刮引擎收录,你说是好仍是坏呢?
其主要制止会见这个文件,可经由过程.htaccess或rewrite完成,有才能的最好更名,然后丢到一一般人不晓得的文件夹外面。
8、入手下手装置wordpress的时分,不要利用数据库默许前缀和admin用户名。
9、即时跟进更新,包含插件更新。
本文来自:站长殊效网,恪守行业品德,转载请注明出处。
终于学会把表单的数据插入数据库,然后显示出来了,应该说一个程序的雏形已经诞生了。 |
|