###############################################
此篇文章属原创,如有引用,请标明作者信息。
Email: leo_cdp@yeah.net
http://www.cfeng.net/
本文代码任意转载,使用请保留此声明
###############################################
去年写了个文本管理总觉得有些不爽再加上申请了主机所以写个PHP+MYSQL的对文章进行管理测试期间
受到广大网友的支持现将代码公布
功能说明:
文章的基本操作:添加,修改,锁定,解锁,推荐,删除等待
并有强大功能的搜索,评论,推荐给朋友等功能,并对安全性进行着重加强,漂亮的界面人性化的设计。
主要文件列表:
setup.php 安装程序,运行后即可使用本系统!
index.php 显示
manager.php 添加,管理文章。
change.php 对已存在文章的操作。
edit_article.php 文章修改
commend.php 推荐文章给朋友。
read_article.php 文章阅读。
ping.php 发表文章评论。
search.php 文章搜索
type_manager.php 类型管理
login.php 管理员登陆。
config.php 主要配置文件
func.php 函数文件
footer.inc,header.inc,nav.inc包含文件。
list.txt 类型列表
以及其它一些周边程序
管理系统演示地址:
http://www.cfeng.net/article/
########################config.php 主要配置文件##########################
$host="localhost"; #数据库主机
$database_usn="cfeng.net"; ##数据库用户
$database_pwd="cfeng.net"; ##数据库密码
$database="cfeng.net"; ##数据库
$table="cfeng.net"; ##要存放文章的表
$ping_tab="ping_tab1"; ##存放评论的表
$admin_usn="leo"; ##管理员用户名
$admin_pwd="leo"; ##管理员密码
$admin_mail="leo_cdp@yeah.net"; ##管理员信箱
$pagenum="20"; ##每页显示文章数
$sess=md5($admin_usn.$admin_pwd); ##登陆认证采用MD5生成
?>
#####################func.php 函数文件 ###################################
require "./inc/config.php";
function mscon()##数据库链接
{
global $host,$database_usn,$database_pwd;
@mysql_connect("$host","$database_usn","$database_pwd") or die("对不起,数据库连接错误!请稍候再来,或与管理员联系");
}
function check_login()
{ global $sess;
if(!session_is_registered("sess_0230a09a07cab1df8112d00b1f9a9719"))
{
if($sess_0230a09a07cab1df8112d00b1f9a9719!=$sess)
{
redir("login.php");
exit;
}
}
}
function redir($addr)
{
header("location:$addr");
}
function add_article()##本系统实行宽进严出所以添加文章部份显得略为简单!
{
global $database,$table,$title,$cont,$type,$html;
$dat=date(Y年m月d日);
$title=htmlspecialchars($title);
$query="insert into $table(title,cont,type,time,html) values('$title','$cont','$type','$dat','$html')";
$res=mysql_db_query("$database",$query);
if(!$res)
echo mysql_error();
}
function add_hits($id)##添加浏览次数!
{
global $database,$table;
$query="update $table set hits=hits+1 where id=$id";
$res=mysql_db_query("$database",$query);
}
function add_comm($id)##把本文加为推荐文章
{
global $database,$table;
$query="update $table set comm=1 where id=$id";
$res=mysql_db_query("$database",$query);
}
function un_comm($id)##清除推荐!
{
global $database,$table;
$query="update $table set comm='0' where id=$id";
$res=mysql_db_query("$database",$query);
}
function add_lock($id)##锁定文章
{
global $database,$table;
$query="update $table set locked='1' where id=$id";
$res=mysql_db_query("$database",$query);
}
function un_lock($id)##清除锁定!
{
global $database,$table;
$query="update $table set locked=0 where id=$id";
$res=mysql_db_query("$database",$query);
}
function add_p_num($id)##添加评论次数!
{
global $database,$table;
$query="update $table set p_num=p_num+1 where id=$id";
$res=mysql_db_query("$database",$query);
}
function add_del($id)##删除文章!
{
global $database,$table;
$query="delete from $table where id='$id'";
$res=mysql_db_query("$database",$query);
}
########################setup.php 安装文件######################
session_start();
require"./inc/func.php";
check_login();
?>
if($sub)
{
$file_cont="\n #don't edit thisfile use the setup.php\n";
$file_cont.="\$host=\"$host\";#your database server address\n";
$file_cont.="\$database_usn=\"$database_usn\";\n";
$file_cont.="\$database_pwd=\"$database_pwd\";\n";
$file_cont.="\$database=\"$database\";\n";
$file_cont.="\$table=\"$table\";\n";
$file_cont.="\$ping_tab=\"$ping_tab\";\n";
$file_cont.="\$admin_usn=\"$admin_usn\";\n";
$file_cont.="\$admin_pwd=\"$admin_pwd\";\n";
$file_cont.="\$admin_mail=\"$admin_mail\";\n";
$file_cont.="\$pagenum=\"$pagenum\";\n";
$file_cont.="\$sess=md5(\$admin_usn.\$admin_pwd);\n";
$file_cont.="\n";
$file_cont.="?>";
$fp=fopen("./inc/config.php","w");
if(fputs($fp,$file_cont))
echo "配置完成正检测各选项的正确性
";
else echo "文件写入错误,请检测文件所在目录的权限
";
fclose($fp);
echo "正在检测数据连接.........." ;
if(@mysql_connect("$host","$database_usn","$database_pwd"))
{
echo "成功!
" ;
$query="CREATE TABLE $table(
id int(4) NOT NULL auto_increment,
title varchar(55) NOT NULL,
cont text NOT NULL,
time varchar(14) NOT NULL,
type varchar(20) NOT NULL,
comm int(1) DEFAULT '0' NOT NULL,
p_num int(2) DEFAULT '0' NOT NULL,
locked int(1) DEFAULT '0' NOT NULL,
hits int(4) DEFAULT '0' NOT NULL,
html int(1) DEFAULT '1' NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id),
KEY id_2 (id)
) " ;
if(mysql_db_query($database,$query))
echo"数据库 $table 建立成功
".mysql_error();
else
echo"数据库 $table 建立失败
";
$query="CREATE TABLE $ping_tab (
id int(4) NOT NULL auto_increment,
p_id int(4) DEFAULT '0' NOT NULL,
name varchar(50) NOT NULL,
mail varchar(200) NOT NULL,
p_cont text NOT NULL,
time datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
ip varchar(15) NOT NULL,
PRIMARY KEY (id),
UNIQUE id (id),
KEY id_2 (id)
)";
if(mysql_db_query($database,$query))
{
echo"用户评论数据库 $ping_tab 建立成功
恭喜,文章管理系统安装成功!请这边走进行基本设置!
";
$fp=fopen("setup.php","r");
$file_cont=fread($fp,filesize("setup.php"));
$file_cont=" \nsession_start();\nrequire\"./inc/func.php\";\n check_login();\n?>\n".$file_cont;
$fp=fopen("setup.php","w");
fputs($fp,$file_cont);
fclose($fp);
}
else
echo"用户评论数据库$ping_tab建立失败
";
}
else
echo "数据库连接失败!请检测你用户名密码的正确性!
";
exit();
}
require "./inc/header.inc";
?>
require "./inc/nav.inc";?>

要保护应用免受与会话相关的XSS攻击,需采取以下措施:1.设置HttpOnly和Secure标志保护会话cookie。2.对所有用户输入进行输出编码。3.实施内容安全策略(CSP)限制脚本来源。通过这些策略,可以有效防护会话相关的XSS攻击,确保用户数据安全。

优化PHP会话性能的方法包括:1.延迟会话启动,2.使用数据库存储会话,3.压缩会话数据,4.管理会话生命周期,5.实现会话共享。这些策略能显着提升应用在高并发环境下的效率。

thesession.gc_maxlifetimesettinginphpdeterminesthelifespanofsessiondata,setInSeconds.1)它'sconfiguredinphp.iniorviaini_set().2)abalanceIsiseededeedeedeedeedeedeedto to to avoidperformance andununununununexpectedLogOgouts.3)

在PHP中,可以使用session_name()函数配置会话名称。具体步骤如下:1.使用session_name()函数设置会话名称,例如session_name("my_session")。2.在设置会话名称后,调用session_start()启动会话。配置会话名称可以避免多应用间的会话数据冲突,并增强安全性,但需注意会话名称的唯一性、安全性、长度和设置时机。

会话ID应在登录时、敏感操作前和每30分钟定期重新生成。1.登录时重新生成会话ID可防会话固定攻击。2.敏感操作前重新生成提高安全性。3.定期重新生成降低长期利用风险,但需权衡用户体验。

在PHP中设置会话cookie参数可以通过session_set_cookie_params()函数实现。1)使用该函数设置参数,如过期时间、路径、域名、安全标志等;2)调用session_start()使参数生效;3)根据需求动态调整参数,如用户登录状态;4)注意设置secure和httponly标志以提升安全性。

在PHP中使用会话的主要目的是维护用户在不同页面之间的状态。1)会话通过session_start()函数启动,创建唯一会话ID并存储在用户cookie中。2)会话数据保存在服务器上,允许在不同请求间传递数据,如登录状态和购物车内容。

如何在子域名间共享会话?通过设置通用域名的会话cookie实现。1.在服务器端设置会话cookie的域为.example.com。2.选择合适的会话存储方式,如内存、数据库或分布式缓存。3.通过cookie传递会话ID,服务器根据ID检索和更新会话数据。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

Dreamweaver CS6
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!