复习PHP-安全(模型,用户,记录,web开发)

时间:2024-05-08 15:08:50 作者 : 石家庄SEO 分类 : web开发
  • TAG :

    %E5%A4%8D%E4%B9%A0PHP-%E5%AE%89%E5%85%A8

1.安全记录

修改php.ini中的open_basedir,防止越目录访问文件。

如果php作为apache模块时,apache的权限一定不能为root。

如果php作为apache模块时,应当使用apache验证/LDAP/.htaccess等来设计自己的访问模型,并把这些代码作为php脚本的一部分。

php不能有root权限,否则将有可能有权限删除和修改系统中的任何文件。

任何用户提交的数据都必须经过检查和过滤。(特别对于文件的操作,必须要考虑到各种URL情况)

必须要考虑\0在文件路径中的作用。(C语言如果读到\0会停止继续读取)

SQL语句中的--是忽略后面句子的意思。

SQL中能确定变量的类型的,一定要强制转换类型,而不要让它存在不可预计的情况。(如age=’{$age}’,需要将$age强制int 或float)

必须时刻注意SQL语句中变量可能被变形的情况。

操作数据库时可使用mysql_escape_string/sql_escape_string/addslashes/str_replace把敏感字符转义。

记录SQL查询日志用于检查问题是个好办法。

合理运用PDO参数化进行SQL查询是个较好的办法。

-----(以下摘自PHP手册)

2.错误报告

常用的可行性办法为测试开发时打开error_reporting 为E_ALL,正式上线改为0 并且关闭display_error 同时打开error_log记录错误日志。

虽然默认将register global、magic_quotes关闭但也应当检查一下是否确定为关闭。

------(以下摘自PHP手册,在用户提交表单时,必须联想到)

3.隐藏PHP

php.ini 文件里设置 expose_php = off ,可以减少他们能获得的有用信息。

另一个策略就是让 web 服务器用 PHP 解析不同扩展名。无论是通过 .htaccess 文件还是 Apache 的配置文件,都可以设置能误导***者的文件扩展名:

本文:复习PHP-安全的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:复习PHP-语言参考-预定义异常下一篇:

9 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18