郑州网站建设鹏之信,网站建设与维护目录,外贸圈的尖子生,建站平台哪个比较权威总结整理了某公司面试中值得记录的笔试和问到的问题和答案。 目录
PHP传值和传引用区别#xff1f;什么情况下用传值#xff1f;什么情况下用传引用#xff1f;
传值
传引用
区别
选择传值还是传引用时
简述PHP的垃圾回收机制
二维数组排序
什么是CSRF攻击#xff… 总结整理了某公司面试中值得记录的笔试和问到的问题和答案。 目录
PHP传值和传引用区别什么情况下用传值什么情况下用传引用
传值
传引用
区别
选择传值还是传引用时
简述PHP的垃圾回收机制
二维数组排序
什么是CSRF攻击XSS攻击如何防范
CSRF
防范主要方法
XSS
防范主要方法
主键、外键和索引区别
__autoload()方法的工作原理与spl_autoload_register()的区别
用什么方法检查PHP脚本执行效率通常是脚本执行时间和数据库SQL的效率通常是数据库的Query时间并定位和分析脚本执行和数据库查询的瓶颈所在
PHP脚本执行时间
数据库SQL查询效率
Mysql什么是事务及其特性事务的隔离级别分别是
事务及特性
隔离级别
Mysql数据库做发布系统存储一天五万条以上增量预计运维三年怎么优化
Nginx访问日志怎么统计IP访问量独立ip访问数量前十的ip。命令怎么写
什么是API幂等性怎么解决幂等问题
概念
实现API幂等性的主要方法包括
对于大流量网站采用什么样的方法来解决访问量问题
两个变量在不设置第三个变量时怎么互换值
算术运算
异或运算
git合并另一分支的一部分提交
100万用户每日签到功能如何实现
十个座位被六七百学生预约如何不超约和重复约
十万用户 下载全年某搜索结果数据 如何实现
如何导出excel文件
laravel orm都使用了哪些设计模式具体示例
工厂方法模式
抽象工厂模式
原型模式
建造者模式
单例模式
什么mysql回表如何避免回表
避免回表优化方式 PHP传值和传引用区别什么情况下用传值什么情况下用传引用
传值
函数范围内对值的任何改变在函数外部都会被忽略
传引用
函数范围内对值的任何改变在函数外部也能反映出这些修改 区别
按值传递时php必须复制值。特别是对于大型的字符串和对象来说这将是代价很大的操作按引用传递则不需要复制值对于性能提高很有好处。
传值只是把某一个变量的值传给另一个变量而引用则说明两者指向同一个地方 选择传值还是传引用时
传值适用于不需要修改原始变量的情况或者原始变量是大型数组或对象时以避免内存消耗。
传值可以确保函数或方法的独立性不会对其他代码产生意外的副作用。
传引用适用于需要修改原始变量的情况以避免创建副本和消耗额外的内存。 通常情况下当函数或方法需要修改输入参数的值时更倾向于使用传引用。但是应该谨慎使用传引用因为它可能导致代码难以理解和维护以及不受控制的副作用。 简述PHP的垃圾回收机制
PHP的垃圾回收机制是自动的它通过内置的垃圾回收器(Garbage Collector)来实现。当一个PHP对象不再被引用时它就成为垃圾。垃圾回收器会定期扫描内存中的所有对象将没有引用的对象标记为垃圾并释放它们占用的内存空间以便其他对象可以使用这些空间。
PHP的垃圾回收机制使用了引用计数(reference counting)的算法来跟踪对象的引用情况。每个对象都有一个引用计数器它记录着对象当前被引用的次数。当一个对象被赋给一个变量时它的引用计数器会增加1当一个变量不再引用该对象时它的引用计数器会减少1。当引用计数器降为0时这个对象就成为垃圾垃圾回收器就会释放它所占用的内存。
PHP的垃圾回收机制是自动的程序员无需手动管理内存。但是如果程序中存在循环引用的情况垃圾回收器就无法释放这些对象。为了避免这种情况的发生PHP提供了一种手动解除引用的方法即将对象赋值为null这样就可以让对象的引用计数器降为0从而被垃圾回收器释放。 二维数组排序
有一个二维数组子数组中元素有排序和距离两个元素写一个方法先按照排序由大到小如果排序相同在按照距离由近到远
array_multisort()函数是一个非常强大的排序函数可以按照多个条件对二维数组进行排序。如果想按照多个字段进行排序可以使用array_multisort()函数。例如我们要首先按照age字段排序如果age相同则按照id排序。
示例如下
$arr [[sort 10, distance 2],[sort 9, distance 8],[sort 7, distance 6],[sort 2, distance 3],[sort 1, distance 1],[sort 9, distance 2],[sort 1, distance 2],
];$sorts $distances [];
foreach ($arr as $v) {$sorts[] $v[sort];$distances[] $v[distance];
}
array_multisort($sorts, SORT_DESC, $distances, SORT_ASC, $arr);
print_r($arr); 什么是CSRF攻击XSS攻击如何防范
CSRF
Cross-Site Request Forgery即跨站请求伪造是一种利用用户的登录状态以用户身份进行非法的操作。攻击者通过盗用用户的身份在用户不知情的情况下完成一些危害性的操作比如删除账号发邮件等。攻击者通常会诱骗用户点击带有攻击性的链接或者注入恶意代码到被攻击网站中等待用户点击触发。 防范主要方法
1. 验证请求来源在服务端验证请求是否来自合法的源比如检查Referer、Origin头部验证CSRF Token等。
2. 使用验证码 验证码可以有效减少CSRF攻击因为攻击者并不能获取验证码的值。 XSS
Cross-Site Scripting即跨站脚本攻击是指攻击者在网页中注入可执行的代码当用户浏览该网页时注入的代码会被执行从而达到盗取用户信息、窃取Cookie、篡改网页等恶意目的的攻击方式。攻击者通常会在提交或传输数据时利用未经过滤的HTML或JavaScript注入攻击代码。 防范主要方法
1. 对用户输入的数据进行过滤和转义不信任任何来自用户的数据。
2. 设置HTTP头中的安全策略具体包括X-XSS-Protection、Content-Security-PolicyCSP等。
3. 使用最新的浏览器并开启浏览器的反XSS策略例如开启Chrome的XssAuditor。
4. 避免使用eval、innerHTML、document.write等可执行脚本的API选择使用更为安全的替代方案。 主键、外键和索引区别
索引是一种增加查询效率的数据结构它是在数据库表上建立的。索引可以快速定位表中的数据行提高查询速度和排序速度。
主键是索引的一种一个表只能定义一个主键且主键不能为NULL。它用来保证表中记录的唯一性也可以用来快速查找和定位记录。
外键是一种参照其他表的键它限制了一个表中某个字段的取值必须是另一个表中某一字段的取值。外键可以用来建立两个表之间的关联从而实现数据的一致性。 __autoload()方法的工作原理与spl_autoload_register()的区别
__autoload() 函数是用户定义的函数用于动态加载 PHP 类文件当脚本尝试使用一个未被定义的类时PHP 解释器将会寻找 __autoload() 函数并执行该函数将类名作为一个参数传入。
与spl_autoload_register()的区别是只能定义一次不能重复定义。 用什么方法检查PHP脚本执行效率通常是脚本执行时间和数据库SQL的效率通常是数据库的Query时间并定位和分析脚本执行和数据库查询的瓶颈所在 PHP脚本执行时间
使用 microtime() 函数在脚本开始和结束处记录时间然后计算差值。
示例如下
$start_time microtime(true);// PHP代码$end_time microtime(true);$execution_time $end_time - $start_time;echo 执行时间: . $execution_time . 秒; 数据库SQL查询效率
使用 mysqli_query() 的 get_result() 方法和 mysqli_get_profiling_info() 函数。
示例如下
$db new mysqli(localhost, username, password, database);$db-set_charset(utf8);// 启用性能分析$db-profiling 1;// 执行一个查询$query SELECT * FROM user;$stmt $db-prepare($query);$stmt-execute();$result $stmt-get_result();// 获取所有查询的性能信息$profiling_info $db-get_profiling_info();foreach ($profiling_info as $info) {if ($info[query] $query) {echo 查询耗时: . $info[duration] . 秒;break;}} Mysql什么是事务及其特性事务的隔离级别分别是
事务及特性
事务是一系列的数据库操作是数据库应用的基本逻辑单位。
特性
1原子性即不可分割性事务要么全部被执行要么就全部不被执行。
2一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态
3隔离性。在事务正确提交之前不允许把该事务对数据的任何改变提供给任何其他事务
4 持久性。事务正确提交后其结果将永久保存在数据库中即使在事务提交后有了其他故障事务的处理结果也会得到保存。
简单理解在事务里的操作要么全部成功要么全部失败。 隔离级别
在 MySQL中事务的隔离级别有以下 4 种 读未提交READ UNCOMMITTED 读已提交READ COMMITTED 可重复读REPEATABLE READ 序列化SERIALIZABLE
MySQL 默认的事务隔离级别是可重复读这4种隔离级别的说明如下。
1.READ UNCOMMITTED
读未提交也叫未提交读该隔离级别的事务可以看到其他事务中未提交的数据。该隔离级别因为可以读取到其他事务中未提交的数据而未提交的数据可能会发生回滚因此把该级别读取到的数据称之为脏数据把这个问题称之为脏读。 2.READ COMMITTED
读已提交也叫提交读该隔离级别的事务能读取到已经提交事务的数据因此它不会有脏读问题。但由于在事务的执行中可以读取到其他事务提交的结果所以在不同时间的相同 SQL查询中可能会得到不同的结果这种现象叫做不可重复读。 3.REPEATABLE READ
可重复读是MySQL的默认事务隔离级别它能确保同一事务多次查询的结果一致。但也会有新的问题比如此级别的事务正在执行时另一个事务成功的插入了某条数据但因为它每次查询的结果都是一样的所以会导致查询不到这条数据自己重复插入时又失败因为唯一约束的原因。明明在事务中查询不到这条信息但就是插入不进去这就叫幻读 Phantom Read。 4.SERIALIZABLE
序列化事务最高隔离级别它会强制事务排序使之不会发生冲突从而解决了脏读、不可重复读和幻读问题但因为执行效率低所以真正使用的场景并不多。 Mysql数据库做发布系统存储一天五万条以上增量预计运维三年怎么优化
1、设计良好的数据库结构允许部分数据冗余尽量避免 join 查询提高效率。
2、选择合适的表字段数据类型和存储引擎适当的添加索引。
3、MySQL 库主从读写分离。
4、找规律分表减少单表中的数据量提高查询速度。
5、添加缓存机制比如 memcachedredis 等。
6、不经常改动的页面生成静态页面。
7、书写高效率的 SQL。比如 SELECT * FROM TABEL 为 SELECT field_1,field_2 FROM TABLE. Nginx访问日志怎么统计IP访问量独立ip访问数量前十的ip。命令怎么写
awk {print $1} /path/to/nginx/access.log | sort | uniq -c | sort -nr | head -10
解释
cat /var/log/nginx/access.log输出日志文件内容。
awk {print $1}使用awk打印每行的第一个字段通常是IP地址。
sort对所有IP地址进行排序以便uniq可以统计重复项。
uniq -c计算每个唯一IP出现的次数。
sort -nr以数值形式逆序排序结果。 请根据实际Nginx日志格式调整awk命令中的$1以指向包含IP地址的正确字段。 什么是API幂等性怎么解决幂等问题
概念
API幂等性指的是对于同一个API请求无论执行一次还是多次其结果和效果都是相同的。简单来说就是多次调用对系统的产生的影响是一样的即对资源的作用是一样的。幂等性强调的是外界通过接口对系统内部的影响只要一次或多次调用对某一个资源应该具有同样的副作用就行。注意这里指对资源造成的副作用必须是一样的但是返回值允许不同。 实现API幂等性的主要方法包括 唯一索引通过为数据库表设置唯一索引避免插入重复数据当插入重复数据时数据库会抛出异常保证了数据的唯一性。 乐观锁为数据字段增加一个版本号version字段当数据需要更新时首先检查版本号是否一致。如果不一致说明有其他请求已经更新了数据提示更新失败。 悲观锁在获取数据时进行加锁防止多个请求同时更新同一数据。 分布式锁在分布式环境下通过Redis或Zookeeper等实现分布式锁锁定全局唯一资源使请求串行化防止重复执行。 Token机制为每一次操作生成一个唯一性的凭证tokentoken在操作的每一个阶段只有一次执行权一旦执行成功则保存执行结果。对重复的请求返回同一个结果。 这些方法可以根据具体的业务场景和需求选择合适的方式来实现API的幂等性以确保系统的稳定性和数据的准确性 对于大流量网站采用什么样的方法来解决访问量问题 确认服务器硬件是否足够支持当前的流量首先需要确保服务器的硬件配置能够支持当前的高流量负载。这包括足够的CPU、内存、存储空间以及网络带宽等12。 优化数据库访问通过优化数据库查询、使用缓存技术如Memcached或Redis来减少对数据库的直接访问从而提高响应速度和系统效率12。 控制大文件的下载限制大文件的下载尤其是对于非SCSI硬盘大量文件下载会消耗CPU资源影响网站响应能力。如果需要提供大文件下载可以考虑使用专门的文件服务器来分担主服务器的负载25。 使用静态页和缓存尽量使用静态页面或者对动态页面进行缓存以减少对服务器的请求次数提高访问速度14。 负载均衡通过负载均衡技术将请求分发到多个服务器上以增加系统的处理能力和吞吐量。这可以通过专门的负载均衡硬件如F5或软件实现34。 使用不同主机分流主要流量将静态内容如图片、CSS、JavaScript文件等放在不同的主机上提供镜像服务以减轻主服务器的负载25。 禁止外部的盗链防止其他网站盗链你的资源这可以通过技术手段如Referer检查来实现从而减少不必要的流量消耗25。 使用流量分析统计软件通过使用流量分析统计软件如Google Analytics可以实时监控网站的流量情况发现并解决潜在的流量问题5。
综上所述解决大流量网站的访问量问题需要从硬件升级、技术优化、流量管理等多个方面进行综合考虑和实施。 两个变量在不设置第三个变量时怎么互换值
算术运算
通过加法和减法运算可以实现两个变量的值互换。首先将两个变量的值相加然后将结果赋值给其中一个变量。接着将原来的第一个变量值减去刚刚赋值的变量值完成互换。具体步骤如下
将变量a的值加上变量b的值然后将结果赋值给a。
将原来的a的值减去刚刚赋值的变量值然后将结果赋值给b。
例如如果a的初始值为2b的初始值为1那么通过上述步骤a和b的值将会互换最终a的值为1b的值为2。 异或运算
异或运算XOR也可以用来交换两个变量的值。异或运算的特点是如果两个输入值相同则输出为0如果不同则输出为1。利用这个特性可以将两个变量的值进行交换。具体步骤如下
将变量a与变量b进行异或运算然后将结果赋值给a。
再次将变量a与上一步的结果进行异或运算然后将结果赋值给b。
最后将变量a与上一步的结果再次进行异或运算赋值给a。
通过这种方式可以确保两个变量的值被交换而不需要使用第三个变量。 git合并另一分支的一部分提交
# 切换到目标分支git checkout main# 查找想要合并的提交的哈希值git log --oneline# 假设我们想要合并的提交哈希值是123abcgit cherry-pick 123abc# 如果有冲突解决它们然后继续git add .git cherry-pick --continue# 或者如果你想取消cherry-pickgit cherry-pick --abort 100万用户每日签到功能如何实现
使用redis 二进制实现用0或者1表示当月用户是否签到。
具体介绍
Redis实现每日签到大数据量_php redis实现每日签到(大数据量)-CSDN博客 十个座位被六七百学生预约如何不超约和重复约 今天简单的用redis的队列来解决超卖问题。因为redis有list类型list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈也可以用作队列。先进先出 一端进 一端出这就是队列。
这里用redis来解决并发问题
首先在队列中增加一个product_num的key加入10个座位的内存数据。 将库存循环lpush进一个redis值product_num里去
然后在下单的时候依次rpop出来。
下一个单取出来一个然后等product_num的值为0时停止下单。 下单时判断用户预约的座位号和是否预约重复
如果重复直接提示用户重复了请重新预约。
然后redis库存再增加回去。
如果座位没有预约则执行预约并提示用户预约成功。 十万用户 下载全年某搜索结果数据 如何实现
异步实现当用户点击下载时提示数据量过大需要一定时间请耐心等待然后到下载中心去查看下载状态。异步处理下载完成后把文件下载状态修改并返回文件地址。 如何导出excel文件
在PHP中导出Excel文件可以使用PhpSpreadsheet库这是一个非常流行的库用于在PHP中读写电子表格文件。 laravel orm都使用了哪些设计模式具体示例
工厂方法模式
Laravel的Eloquent ORM模型工厂和表单请求工厂是工厂方法模式的体现。这种模式提供了一个创建对象的接口而不指定其具体类从而实现了对象的创建与使用分离提高了系统的可扩展性和灵活性。
抽象工厂模式
在Laravel中配置文件、服务提供者、门面(Facades)、多环境配置、依赖注入容器等体现了抽象工厂模式的应用。这种模式提供了一种创建相关或依赖对象的接口而无需指定它们的具体类从而实现了对象的创建与使用分离。
原型模式
Laravel中的配置对象复制、请求和响应的快速复制、会话管理、数据模型的快速复制、缓存数据的复制等操作体现了原型模式的运用。这种模式通过复制现有对象来创建新对象避免了直接操作对象本身提高了系统的可维护性和可扩展性。
建造者模式
Laravel中的表单和HTML的构建、查询构建器、邮件消息构建、视图组件和插槽、集合操作、表单请求验证等操作都是建造者模式的体现。这种模式通过一系列步骤来构建复杂对象允许用户在不了解对象创建细节的情况下对其进行定制和组装。
单例模式
Laravel中的服务容器、门面(Facades)、配置和环境、日志、路由服务、会话管理、缓存管理等都是单例模式的实例。单例模式确保了一个类只有一个实例提供了全局访问点从而简化了全局状态的管理和维护。 什么mysql回表如何避免回表
MySQL中的回表是指在使用索引查询数据时如果需要查询的数据不在索引节点上那么就需要通过索引上的地址如行指针或者ROWID去查询实际的数据行。这个过程称为回表。
回表通常发生在索引的覆盖情况下即查询的列都包含在创建索引时指定的列中。如果查询的列没有完全包含在索引中那么即使是索引扫描MySQL也需要回表查询实际的数据行。 举个例子假设有一个表users包含列(id, name, age, address)并且有一个索引(name)。
如果执行查询SELECT name FROM users WHERE name Alice;因为name列已经在索引中这个查询不需要回表。
但如果执行查询SELECT name, age FROM users WHERE name Alice即使age不在索引(name)中由于索引覆盖了查询的列MySQL仍然可以从索引中获取所需数据不需要回表。
如果查询SELECT name FROM users WHERE age 30即使name在索引中由于查询条件涉及到age列age不在索引(name)中MySQL也需要回表查询实际的数据行。 避免回表优化方式
为了减少回表可以考虑以下方法 优化查询使用索引覆盖更多的列。 创建多列索引如(name, age)这样就可以覆盖更多的查询列。 使用覆盖索引即只使用索引进行查询不查询实际的数据行而是返回索引的列即可。 文章转载自: http://www.morning.wbxbj.cn.gov.cn.wbxbj.cn http://www.morning.mjxgs.cn.gov.cn.mjxgs.cn http://www.morning.gdljq.cn.gov.cn.gdljq.cn http://www.morning.dcccl.cn.gov.cn.dcccl.cn http://www.morning.yqrgq.cn.gov.cn.yqrgq.cn http://www.morning.twfdm.cn.gov.cn.twfdm.cn http://www.morning.rntyn.cn.gov.cn.rntyn.cn http://www.morning.txqgd.cn.gov.cn.txqgd.cn http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn http://www.morning.gcfg.cn.gov.cn.gcfg.cn http://www.morning.wknj.cn.gov.cn.wknj.cn http://www.morning.nxcgp.cn.gov.cn.nxcgp.cn http://www.morning.ngznq.cn.gov.cn.ngznq.cn http://www.morning.srrzb.cn.gov.cn.srrzb.cn http://www.morning.kfldw.cn.gov.cn.kfldw.cn http://www.morning.nrgdc.cn.gov.cn.nrgdc.cn http://www.morning.jjmrx.cn.gov.cn.jjmrx.cn http://www.morning.lfqtp.cn.gov.cn.lfqtp.cn http://www.morning.xlndf.cn.gov.cn.xlndf.cn http://www.morning.dbrpl.cn.gov.cn.dbrpl.cn http://www.morning.zmpsl.cn.gov.cn.zmpsl.cn http://www.morning.ylzdx.cn.gov.cn.ylzdx.cn http://www.morning.kmkpm.cn.gov.cn.kmkpm.cn http://www.morning.xshkh.cn.gov.cn.xshkh.cn http://www.morning.ngzkt.cn.gov.cn.ngzkt.cn http://www.morning.qtnmp.cn.gov.cn.qtnmp.cn http://www.morning.jczjf.cn.gov.cn.jczjf.cn http://www.morning.fglxh.cn.gov.cn.fglxh.cn http://www.morning.wbqt.cn.gov.cn.wbqt.cn http://www.morning.nnrqg.cn.gov.cn.nnrqg.cn http://www.morning.kyytt.cn.gov.cn.kyytt.cn http://www.morning.ypzsk.cn.gov.cn.ypzsk.cn http://www.morning.zqdzg.cn.gov.cn.zqdzg.cn http://www.morning.sgfnx.cn.gov.cn.sgfnx.cn http://www.morning.mkyxp.cn.gov.cn.mkyxp.cn http://www.morning.trrpb.cn.gov.cn.trrpb.cn http://www.morning.dbrnl.cn.gov.cn.dbrnl.cn http://www.morning.ywqsk.cn.gov.cn.ywqsk.cn http://www.morning.rwyd.cn.gov.cn.rwyd.cn http://www.morning.qlhkx.cn.gov.cn.qlhkx.cn http://www.morning.gcqdp.cn.gov.cn.gcqdp.cn http://www.morning.gqjzp.cn.gov.cn.gqjzp.cn http://www.morning.yqqxj1.cn.gov.cn.yqqxj1.cn http://www.morning.nxdqz.cn.gov.cn.nxdqz.cn http://www.morning.cgthq.cn.gov.cn.cgthq.cn http://www.morning.nwzcf.cn.gov.cn.nwzcf.cn http://www.morning.kdtdh.cn.gov.cn.kdtdh.cn http://www.morning.nmpdm.cn.gov.cn.nmpdm.cn http://www.morning.qwrb.cn.gov.cn.qwrb.cn http://www.morning.fyglr.cn.gov.cn.fyglr.cn http://www.morning.wtcbl.cn.gov.cn.wtcbl.cn http://www.morning.mcgsq.cn.gov.cn.mcgsq.cn http://www.morning.nrbqf.cn.gov.cn.nrbqf.cn http://www.morning.gjcdr.cn.gov.cn.gjcdr.cn http://www.morning.wpqwk.cn.gov.cn.wpqwk.cn http://www.morning.cljmx.cn.gov.cn.cljmx.cn http://www.morning.bmtkp.cn.gov.cn.bmtkp.cn http://www.morning.jtdrz.cn.gov.cn.jtdrz.cn http://www.morning.lkbyj.cn.gov.cn.lkbyj.cn http://www.morning.ljdjn.cn.gov.cn.ljdjn.cn http://www.morning.prznc.cn.gov.cn.prznc.cn http://www.morning.rsfp.cn.gov.cn.rsfp.cn http://www.morning.stflb.cn.gov.cn.stflb.cn http://www.morning.lgcqj.cn.gov.cn.lgcqj.cn http://www.morning.lhhkp.cn.gov.cn.lhhkp.cn http://www.morning.dgckn.cn.gov.cn.dgckn.cn http://www.morning.qjbxt.cn.gov.cn.qjbxt.cn http://www.morning.lqytk.cn.gov.cn.lqytk.cn http://www.morning.rdpps.cn.gov.cn.rdpps.cn http://www.morning.rpdmj.cn.gov.cn.rpdmj.cn http://www.morning.bkcnq.cn.gov.cn.bkcnq.cn http://www.morning.zxrtt.cn.gov.cn.zxrtt.cn http://www.morning.sqgqh.cn.gov.cn.sqgqh.cn http://www.morning.nkiqixr.cn.gov.cn.nkiqixr.cn http://www.morning.ffksr.cn.gov.cn.ffksr.cn http://www.morning.stpkz.cn.gov.cn.stpkz.cn http://www.morning.zdtfr.cn.gov.cn.zdtfr.cn http://www.morning.qlznd.cn.gov.cn.qlznd.cn http://www.morning.kngqd.cn.gov.cn.kngqd.cn http://www.morning.nnpfz.cn.gov.cn.nnpfz.cn