您的位置:首页 > 编程语言 > PHP开发

【Day25】几道值得研究注意的php相关问题(三)

2016-10-17 07:22 381 查看
简述队列, 堆栈的原理

都可以看做是一维数组来操作,队列先进先出,出列只能在列头,进列只能在列尾,堆栈是后进先出,进栈和出栈都是从栈顶 。


堆栈的工作原理是什么?

堆栈是一种抽象数据结构,其操作机理是后进先出。当你把新条目推进堆栈时,已经在堆栈内的任何条目都会压到堆栈的深处。同样的,把一个条目从堆栈移出则会让堆栈内的其他条目都向堆栈的顶部移动。只有堆栈最顶端的条目能从堆栈中取出,条目离开堆栈的顺序和它们被推进堆栈的顺序一样。

PHP调用远程http接口时可使用file_get_contents, 但当远程主机不可达或响应过慢,会导致本地PHP进程被长时间挂起,从而影响本地服务器稳定性,如何避免超时时,PHP进程长时间被挂起?

file_get_contents//可以设置下超时时间
$ctx = stream_context_create(array( 'http' => array( 'timeout' => 1
)
)
);
file_get_contents("http://www.want.com/", 0, $ctx);


curl实现获取远程http接口也可以,同样需要设置超时时间


curl_setopt($s,CURLOPT_TIMEOUT,$timeout);


3.  生产环境php.ini中magic_quotes_gpc及magic_quotes_runtime值应该设置为什么?


magic_quotes_gpc=on;
magic_quotes_runtime=off;


4.  如何杜绝XSS攻击?


strip_tags可以初步过滤,也可以自己写过滤函数针对特殊标签进行处理,用ascii码进行替换

5. 如何杜绝CSRF攻击?

在Web应用程序侧防御CSRF漏洞,一般都是利用referer、token或者验证码,token方式还是比较可信。

ps:明天我们将告诉大家如何亲手写一个框架。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php 工作 数据结构