PHP

PHP

PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。

1159

至尊宝等2人 赞同、关注了

PHP的pthreads扩模官方文档介绍说:(原文地址 http://php.net/manual/en/intro.pthreads.php)
只能在 PHP 7.2+ 版本中使用 pthreads (v3) 扩展, 在 PHP 7.0 和 7.1 版本中,ZTS 模式是不安全的
英文:pthreads (v3) can only be used with PHP 7.2+: This is d...

查看完整问题
PHP

2019-09-10 •

281

刘锡涛 赞同了该问题

比较大的购物网站中的 购物车 , 结算 是不是都使用了队列啊 ?

能举一些例子吗 ?

2019-08-16 •

31

无夏之年 赞同了该答案

很简单 用户第一次登录下发一个cookie 此cookie只记录一个根据用户名+随机字符串生成的md5
同时将此md5存在数据表
数据表结构为 md5 创建unix 更新unix
用户第二次登录大于7天 判断更新unix是否超过7天的数值 超过则cookie失效 直接提示长时间未登陆重新登录
用户第...

查看完整答案

2019-03-04 •

281

刘锡涛 赞同了该答案

这个有个PHP的解决办法 给你 供参考下:

先说明下
magic_quotes_gpc 一直是个头疼的问题 无论 是否开启 都会影响项目的可移植性

所以 php 5.3.0以后 去掉了 这个功能(php 5.3.0以后使用magic_quotes_gpc 和 magic_quotes_runt...

查看完整答案

2019-02-13 •

281

刘锡涛 赞同了该答案

个人认为防注入必须是处处小心,最重要的是养成良好的编码习惯,在写代码的过程中就把风险排除掉,然后加上一些框架的辅助,只能是尽可能的避免注入,如果是线上项目的话,可以用注入探针之类的工具进行测试。

2019-02-13 •

281

刘锡涛 赞同了该答案

给一个php版本的,不是很全面,不过一般的过滤已经足够了。

  
/**
@param string $val--过滤的参数
@param string $type--过滤类型int|string|html
@param string $met...
查看完整答案

2019-02-13 •

281

刘锡涛 赞同了该答案

为了防止用户的错误数据和 php + mysql 注入 ,这是我以前常用的一个函数

  
PAPI_GetSafeParam(),用来获取安全的参数值:
define("XH_PARAM_INT",0);
define("XH_PARAM_TXT",...
查看完整答案

2019-02-13 •

281

刘锡涛 赞同了该答案

在php里用PDO::prepare来对所以sql进行重新组合,比如:

  
$unsafe_variable = $_POST["input"];
mysql_query("SELECT * FROM employees WHERE name...
查看完整答案

2019-02-13 •

281

刘锡涛等2人 赞同了该答案

1 每次输出先flush一下
2 这种测试代码, 直接cli运行就行

PHP

2019-02-13 •

281

刘锡涛等2人 赞同了该答案

php 在程序执行结束之后, 才会把缓存的内容刷到标准输出里, 你的程序一直没有结束, 所以程序一直没有返回, 浏览器只有在接收响应之后才会显示响应的内容

PHP

2019-02-13 •

281

刘锡涛 赞同了该答案

使用 try catch 异常处理机制来处理即可。一般来说,正规的 PHP 的 redis 客户端都会有完善的异常提醒机制,当客户端连接不上 redis 服务器时会抛出相应的异常,你只需要在你使用 redis 的地方捕获这个异常,就可以在 catch 段里做相应的操作了,比如直接连接 MySQL 或...

查看完整答案

2019-02-13 •

1159

至尊宝 回答了

使用 try catch 异常处理机制来处理即可。一般来说,正规的 PHP 的 redis 客户端都会有完善的异常提醒机制,当客户端连接不上 redis 服务器时会抛出相应的异常,你只需要在你使用 redis 的地方捕获这个异常,就可以在 catch 段里做相应的操作了,比如直接连接 MySQL 或...

查看完整答案

2019-02-13 •

1159

至尊宝等2人 赞同、关注了

问题背景
最近用PHP做了个API接口,为了性能所有数据先读取redis,当取出结果为空时再读取mysql,然后缓存至redis(常规操作)。
问题
昨天领导提出一个问题,当redis故障,宕机等根本连接不上的情况时,直接读取MySQL;并且希望可以在程序中设置一个故障连接的次数限制,比如连续访问5次都超时,直接略过redis,或者改用其他缓存,memcache等。...

查看完整问题

2019-02-13 •

281

刘锡涛 赞同了该问题

现在准备使用swoole开发游戏服务端,暂时不考虑其他语言,因为公司没有熟悉其他语言,而且项目截止时间马上要到
我想问的是,比如在开发服务端的时候,游戏上面有一个动作只有金币达到多少才能操作,这个server收到客户端的socket请求,判断金币,这个从数据库判断吗?前期预估tcp链接数大概有10w 如果直接从数据库判断感觉压力太大,另外我还需要保证数据完整性!如果真要这样做,数据库这块要一主多从...

查看完整问题

2019-02-13 •

1159

至尊宝 赞同了该答案

一般常见的有三种做法,

1,自动判断sql是否为读,来选择数据库的连接:

实例化php DB类的时候,需要一次连接两台服务器,然后根据slq选择不同的连接,举个例子:

  
$link_w = mysql_connect($w_host,$us...
查看完整答案

2019-02-12 •

281

答案版本被 刘锡涛回退

[小飞的方法很好][1],数字型和字符型都进行了很好的过滤。除了防SQL注入还要做好防XSS(包括反射型XSS和存储型XSS)、上传漏洞的准备,这几个是常用且有效的攻击手段,我们公司都出现过这几个漏洞,不过修复得也很快。

XSS:又叫CSS (Cross Sit...

查看完整答案

2019-01-05 •

1159

至尊宝等2人 赞同、关注了

代码如下:
while (1){
echo $i.'<br>';
sleep(5);
$i++;
}
浏览器打开,一直没见输出$i的值,只是一直在空转“正在等待xxxx响应..”
去掉sleep(5)就能正常输出。
为什么会这样,难道php不能在死循环里sleep?

查看完整问题
PHP

2018-09-20 •

145

荒漠中的诗歌 回答了

1 每次输出先flush一下
2 这种测试代码, 直接cli运行就行

PHP

2018-08-26 •

21

outyua 回答了

php 在程序执行结束之后, 才会把缓存的内容刷到标准输出里, 你的程序一直没有结束, 所以程序一直没有返回, 浏览器只有在接收响应之后才会显示响应的内容

PHP

2018-08-23 •

50

share98 创建了

代码如下:
while (1){
echo $i.'<br>';
sleep(5);
$i++;
}
浏览器打开,一直没见输出$i的值,只是一直在空转“正在等待xxxx响应..”
去掉sleep(5)就能正常输出。
为什么会这样,难道php不能在死循环里sleep?

查看完整问题
PHP

2018-08-21 •

50

share98zhutuzi的答案 设置为最佳答案

  
$str='打算的方式<a href="1.html">dffg</a>hyhyjhyjjya的风<p>asdasd</p>格的风格的风格的风格让他一人';
$link='<a href="...
查看完整答案
PHP

2018-08-14 •

50

share98 创建了

PHP的pthreads扩模官方文档介绍说:(原文地址 http://php.net/manual/en/intro.pthreads.php)
只能在 PHP 7.2+ 版本中使用 pthreads (v3) 扩展, 在 PHP 7.0 和 7.1 版本中,ZTS 模式是不安全的
英文:pthreads (v3) can only be used with PHP 7.2+: This is d...

查看完整问题
PHP

2018-08-14 •

1159

至尊宝 赞同了该问题

如何将 $arr 数组变成 $newArr 的结构

$arr = [
[
'id' => '1',
'name' => 'a',
'attr' => '红色',
'val' => '10'
],
[
'id' => '1',
'na...

查看完整问题
PHP

2018-06-08 •

1

sloth4413 回答了

一般都是放到内存的。然后通过同步机制,定期持久化。

2018-06-05 •

6

某杰 回答了

$data = [];
array_map(function($key) use (&$data){
if (!isset($data[$key['id']])) {
$data[$key['id']] = [
'id' => $key[...

查看完整答案
PHP

2018-04-25 •

热点用户排行

话题状态

最近活动:2012-07-04
该话题下的问题共被浏览 12352079 次