很多站长朋友们都不太清楚phpdl函数,今天小编就来给大家整理phpdl函数,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 6.如何禁止php服务程序中不安全的功能? 2、 PHP可否调用动态链接库 3、 php中关于socket的系列函数总结 4、 请教各位,php如何调用so文件 6.如何禁止php服务程序中不安全的功能?为了使php程序更安全,很多站长都选择了禁用一些比较敏感的函数,那影响php安全的函数到底有哪些呢,下面我们列出了一些:
1、phpinfo()
功能描述:输出 PHP 环境信息以及相关的模块、WEB 环境等信息。
危险等级:中
2、passthru()
功能描述:允许执行一个外部程序并回显输出,类似于 exec()。
危险等级:高
3、exec()
功能描述:允许执行一个外部程序(如 UNIX Shell 或 CMD 命令等)。
危险等级:高
4、system()
功能描述:允许执行一个外部程序并回显输出,类似于 passthru()。
危险等级:高
5、chroot()
功能描述:可改变当前 PHP 进程的工作根目录,仅当系统支持 CLI 模式
PHP 时才能工作,且该函数不适用于 Windows 系统。
危险等级:高
6、scandir()
功能描述:列出指定路径中的文件和目录。
危险等级:中
7、chgrp()
功能描述:改变文件或目录所属的用户组。
危险等级:高
8、chown()
功能描述:改变文件或目录的所有者。
危险等级:高
9、shell_exec()
功能描述:通过 Shell 执行命令,并将执行结果作为字符串返回。
危险等级:高
10、proc_open()
功能描述:执行一个命令并打开文件指针用于读取以及写入。
危险等级:高
11、proc_get_status()
功能描述:获取使用 proc_open() 所打开进程的信息。
危险等级:高
12、error_log()
功能描述:将错误信息发送到指定位置(文件)。
安全备注:在某些版本的 PHP 中,可使用 error_log() 绕过 PHP safe mode,
执行任意命令。
危险等级:低
13、ini_alter()
功能描述:是 ini_set() 函数的一个别名函数,功能与 ini_set() 相同。
具体参见 ini_set()。
危险等级:高
14、ini_set()
功能描述:可用于修改、设置 PHP 环境配置参数。
危险等级:高
15、ini_restore()
功能描述:可用于恢复 PHP 环境配置参数到其初始值。
危险等级:高
16、dl()
功能描述:在 PHP 进行运行过程当中(而非启动时)加载一个 PHP 外部模块。
危险等级:高
17、pfsockopen()
功能描述:建立一个 Internet 或 UNIX 域的 socket 持久连接。
危险等级:高
18、syslog()
功能描述:可调用 UNIX 系统的系统层 syslog() 函数。
危险等级:中
19、readlink()
功能描述:返回符号连接指向的目标文件内容。
危险等级:中
20、symlink()
功能描述:在 UNIX 系统中建立一个符号链接。
危险等级:高
PHP可否调用动态链接库当php.ini中的enable_dl选项为on时,可以使用下面这个函数来加载dll文件:
int dl ( string library ),但是当系统处于安全模式时,即使enable_dl为on,也无法使用.
<?php
// Example loading an extension based on OS
if (!extension_loaded('sqlite')) {
if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) {
dl('php_sqlite.dll');
} else {
dl('sqlite.so');
}
}
// Or, the PHP_SHLIB_SUFFIX constant is available as of PHP 4.3.0
if (!extension_loaded('sqlite')) {
$prefix = (PHP_SHLIB_SUFFIX == 'dll') ? 'php_' : '';
dl($prefix . 'sqlite.' . PHP_SHLIB_SUFFIX);
}
?>
这属于动态加载dll文件,还有一种方法就是,将你的dll文件放到php的ext目录下,然后在你的php.ini文件里面找到一大堆:extension=php_xxxx.dll那里,找个空行,按照这个写法写上去,注意前面不要有";"号.重启apache后,就可以调用里面的东西了.
php中关于socket的系列函数总结本文列举了所有关于PHP语言中使用socket相关服务的一些函数。注意使用如下函数之前,你需要确保你的socket已打开,如果你没有打开,请编辑你的php.ini文件,去掉下面这行前面的注释(分号):
代码如下:
extension=php_sockets.dll
如果你无法去掉注释,那么请使用下面的代码来加载扩展库:
代码如下:
if(!extension_loaded('sockets')){
if(strtoupper(substr(PHP_OS,3))=="WIN"){
dl('php_sockets.dll');
}else{
dl('sockets.so');
}
}
如果你不知道你的socket是否打开,那么你可以使用phpinfo()函数来确定socket是否打开。你通过查看phpinfo信息了解socket是否打开。
php
socket
相关函数如下:
代码如下:
socket_accept()
接受一个Socket连接
socket_bind()
把socket绑定在一个IP地址和端口上
socket_clear_error()
清除socket的错误或者最后的错误代码
socket_close()
关闭一个socket资源
socket_connect()
开始一个socket连接
socket_create_listen()
在指定端口打开一个socket监听
socket_create_pair()
产生一对没有区别的socket到一个数组里
socket_create()
产生一个socket,相当于产生一个socket的数据结构
socket_get_option()
获取socket选项
socket_getpeername()
获取远程类似主机的ip地址
socket_getsockname()
获取本地socket的ip地址
socket_iovec_add()
添加一个新的向量到一个分散/聚合的数组
socket_iovec_alloc()
这个函数创建一个能够发送接收读写的iovec数据结构
socket_iovec_delete()
删除一个已经分配的iovec
socket_iovec_fetch()
返回指定的iovec资源的数据
socket_iovec_free()
释放一个iovec资源
socket_iovec_set()
设置iovec的数据新值
socket_last_error()
获取当前socket的最后错误代码
socket_listen()
监听由指定socket的所有连接
socket_read()
读取指定长度的数据
socket_readv()
读取从分散/聚合数组过来的数据
socket_recv()
从socket里结束数据到缓存
socket_recvfrom()
接受数据从指定的socket,如果没有指定则默认当前socket
socket_recvmsg()
从iovec里接受消息
socket_select()
多路选择
socket_send()
这个函数发送数据到已连接的socket
socket_sendmsg()
发送消息到socket
socket_sendto()
发送消息到指定地址的socket
socket_set_block()
在socket里设置为块模式
socket_set_nonblock()
socket里设置为非块模式
socket_set_option()
设置socket选项
socket_shutdown()
这个函数允许你关闭读、写、或者指定的socket
socket_strerror()
返回指定错误号的详细错误
socket_write()
写数据到socket缓存
socket_writev()
写数据到分散/聚合数组
请教各位,php如何调用so文件要确定你调用的so文件不是从别处拷贝来的!!即,你的PHP和你的SO文件是否都是在你的本机编译运行的。如果不是,则要确定你的SO文件和你的PHP版本是否匹配!最后检查你调用的so文件的权限和你的PHP的权限是否一致
关于phpdl函数的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于phpdl函数 php中function函数的详细内容...