模板文件中用的多,如page.tpl.php

流程控制的替代语法

(PHP 4, PHP 5, PHP 7)

PHP 提供了一些流程控制的替代语法,包括 ifwhileforforeachswitch。替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;endwhile;endfor;endforeach; 以及 endswitch;

<?php if ($a == 5): ?>
A is equal to 5
<?php endif; ?>

在上面的例子中,HTML 内容“A is equal to 5”用替代语法嵌套在 if 语句中。该 HTML 的内容仅在 $a 等于 5 时显示。

发表在 PHP | 留下评论

__METHOD__,__FUNCTION__

本文实例讲述了PHP中魔术变量__METHOD__与__FUNCTION__的区别,分享给大家供大家参考。具体分析如下:
__METHOD__类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。
__FUNCTION__函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。在 PHP 4 中该值总是小写字母的。
文档解释都是说返回函数(方法)的名字。区别在于:
__FUNCTION__只是返回方法的名字;

__METHOD__返回类的名字和方法的名字。

<?php
      class Test{
        public function doit(){
          echo __FUNCTION__;
        }
        public function doitAgain(){
          echo __METHOD__;
        }
      }
      $obj = new Test();
      $obj->doit();
      echo '<br>';
      $obj->doitAgain();
?>

输出结果为:
doit
Test::doitAgain

 

发表在 PHP | __METHOD__,__FUNCTION__已关闭评论

Don’t know how to define struct flock on this system, set –enable-opcache=no

php-5.6.28编译出错,无法开启enable-opcache,出错信息如下:

Don’t know how to define struct flock on this system, set –enable-opcache=no

 

去掉php编译参数中的–disable-rpath,编译通过,具体原因未知,网上很多人说少litool-devel,也有人说和mysql的libmysqlclient的位置有关,我是没有解决,去掉disable_rpath,编译通过

发表在 一些经验 | Don’t know how to define struct flock on this system, set –enable-opcache=no已关闭评论

https

https
数字证书:一种文件的名称,好比一个机构或人的签名,能够证明这个机构或人的真实性。其中包含的信息,用于实现上述功能。

加密和认证:加密是指通信双方为了防止铭感信息在信道上被第三方窃听而泄漏,将明文通过加密变成密文,如果第三方无法解密的话,就算他获得密文也无能为力;认证是指通信双方为了确认对方是值得信任的消息发送或接受方,而不是使用假身份的非法者,采取的确认身份的方式。只有同时进行了加密和认证才能保证通信的安全,因此在SSL通信协议中这两者都被应。早期一般是用对称加密算法,现在一般都是不对称加密,最常见的算法就是RSA。

消息摘要:这个技术主要是为了避免消息被篡改。消息摘要是把一段信息,通过某种算法,得出一串字符串。这个字符串就是消息的摘要。如果消息被篡改(发生了变化),那么摘要也一定会发生变化(如果2个不同的消息生成的摘要是一样的,那么这就叫发生了碰撞)。

消息摘要的算法主要有MD5和SHA,在证书领域,一般都是用SHA(安全哈希算法)。

数字证书、加密和认证、消息摘要三个技术结合起来,就是在HTTPS中广泛应用的证书(certificate),证书本身携带了加密/解密的信息,并且可以标识自己的身份,也自带消息摘要。

HTTPS认证过程:

① 浏览器发送一个连接请求给安全服务器。

② 服务器将自己的证书,以及同证书相关的信息发送给客户浏览器。

③ 客户浏览器检查服务器送过来的证书是否是由自己信赖的 CA 中心所签发的。如果是,就继续执行协议;如果不是,客户浏览器就给客户一个警告消息:警告客户这个证书不是可以信赖的,询问客户是否需要继续。

④ 接着客户浏览器比较证书里的消息,例如域名和公钥,与服务器刚刚发送的相关消息是否一致,如果是一致的,客户浏览器认可这个服务器的合法身份。

⑤ 服务器要求客户发送客户自己的证书。收到后,服务器验证客户的证书,如果没有通过验证,拒绝连接;如果通过验证,服务器获得用户的公钥。
还没有开始加密
⑥ 客户浏览器告诉服务器自己所能够支持的通讯对称密码方案。

⑦ 服务器从客户发送过来的密码方案中,选择一种加密程度最高的密码方案,用客户的公钥加过密后通知浏览器。

⑧ 浏览器针对这个密码方案,选择一个通话密钥,接着用服务器的公钥加过密后发送给服务器。

⑨ 服务器接收到浏览器送过来的消息,用自己的私钥解密,获得通话密钥。

⑩ 服务器、浏览器接下来的通讯都是用对称密码方案,对称密钥是加过密的。

上面所述的是双向认证 SSL 协议的具体通讯过程,这种情况要求服务器和用户双方都有证书。单向认证 SSL 协议不需要客户拥有 CA 证书,具体的过程相对于上面的步骤,只需将服务器端验证客户证书的过程去掉,以及在协商对称密码方案,对称通话密钥时,服务器发送给客户的是没有加过密的 (这并不影响 SSL 过程的安全性)密码方案。这样,双方具体的通讯内容,就是加过密的数据,如果有第三方攻击,获得的只是加密的数据,第三方要获得有用的信息,就需要对加密 的数据进行解密,这时候的安全就依赖于密码方案的安全。而幸运的是,目前所用的密码方案,只要通讯密钥长度足够的长,就足够的安全。这也是我们强调要求使用128 位加密通讯的原因。

发表在 系统管理 | https已关闭评论

习惯百度和google之后的学习习惯

百度,习惯百度后,你无法再专心的做自己的事情,太多的干扰元素,百度由于搜索的不准确性,导致很多垃圾信息会被搜索出来,需要搜索者去独立分拣出来的结果,再分拣的过程中,会被诱导到非关注点,例如足球,例如娱乐,例如标题性新闻,结果是,花费的大量的时间去关注了一些毫无用处的资料,甚至看了半个小时,不知道自己在干啥,搜了一个问题php的class,结果半个小时后发现自己再看穆里尼奥。

google则不是,基本搜出来的东西都是自己需要的,定位很准确,不会出现杂七杂八的东西,很容易保持专心。告别google好多年,重新拿起。

发表在 其它 | 习惯百度和google之后的学习习惯已关闭评论

linux大棚

《篡权的ss》-linux命令五分钟系列之三十一


ss命令,我承认我有些落伍了,惰于学习,缺乏激情了,老了

发表在 系统管理 | linux大棚已关闭评论

centos7下面安装tigervnc-server,客户端vncview

centos7下面安装vnc
centos7改动还是很大的,我们不用x11vnc,使用tigervnc-server包
原因是x11vnc听说性能差写,安全性高,tigervnc-server性能好,我的需求就是翻墙,所以用了tigervnc-server

centos方面配置:
yum groupinstall “GNOME Desktop” -y
yum install tigervnc-server -y

mv /etc/systemd/system/default.target /etc/systemd/system/default.target_backup
ln -s /lib/systemd/system/graphical.target /etc/systemd/system/default.target

cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
#编辑vncserver@:1.service

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/usr/sbin/runuser -l jjger -c “/usr/bin/vncserver %i”
PIDFile=/home/jjger/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’

[Install]
WantedBy=multi-user.target

useradd jjger
passwd jjger
vncpasswd jjger #设定vpc的密码
#启动:
systemctl daemon-reload
systemctl start vncserver@:1.service
systemctl status vncserver@:1.service

注意:使用以上命令启动vncserver会出错,启动不起来,把type更改为simple就额可以了
这样就不会出错了

客户端连接
apt-get install vncview -y
vncview启动
地址写:xxx.xxx.xxx.xxx:1

over!!!

发表在 环境搭建 | centos7下面安装tigervnc-server,客户端vncview已关闭评论

准备弄个这,见图

img_201611190254-13

发表在 环境搭建 | 准备弄个这,见图已关闭评论

更换硬盘后恢复ubuntu

恢复ubuntu

1、全部文件复制到新的位置,具体路径不变
2、visudo时使用nano编辑器,而不是vim,解决办法,安装vim后,apt-get remove namo
3、设置用户sudo 时不需要输入密码 visudo ,添加NOPASSWD: all
4、安装secricrt
cd /home/source/desk_software/
dpkg -i SecureCrt-7.3.3/scrt-7.3.3-779.ubuntu13-64.x86_64.deb
破解:perl ./securecrt_linux_crack.pl /usr/bin/SecureCRT
启动securecrt后提示注册,根据上面破解的用户名密码输入,OK
继续阅读

发表在 其它, 系统管理 | 更换硬盘后恢复ubuntu已关闭评论

ubuntu中的sudo su -去掉密码问题

ubuntu中的sudo su -去掉密码问题

visudo后,在添加一行 username ALL=(ALL:ALL) NOPASSWD: ALL后不生效,继续需要密码,实际只需要在注释掉
%sudo ALL=(ALL:ALL) ALL这一行就可以了

原因是后面的权限覆盖前面的权限,导致看起来配置不生效

发表在 系统管理 | ubuntu中的sudo su -去掉密码问题已关闭评论