`
byseacomm
  • 浏览: 7127 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

isset与fsockopen函数注意

    博客分类:
  • php
 
阅读更多
  isset问题    

现象1:$a=‘fefwfrw’;那么$a[0]=f,$a[1]=e;以此类推,

现象2:$a=‘fefwfrw’;强制转换为数组,$a=(array)$a, 那么$a[0]='fefwfrw';$a[1]为空

现象3:$a=‘fefwfrw’;那么$a[‘dasdf’]=f,$a['cd']=f,即关联数组都有值,但都是第一个字符

于是出现if($a['name'])时,如果$a是字符串,也能通过判断,解决办法一般是 首先先判断$a是否为数组


目的:获取接口中的返回数据

fsockopen打开一个文件,(或是网络上的),

fput或者fwrite将 header头信息放入,如

fputs($fp, "POST " . $urlarr["path"] . " HTTP/1.1\r\n");    // 提交方式,POST || GET
fputs($fp, "Host: " . $urlarr["host"] . "\r\n");            // 主机
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: " . strlen($urlarr["query"]) . "\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $urlarr["query"] . "\r\n\r\n");

while(!feof($fp)) {
$info[] = @fgets($fp, 1024);
}或者fread将内容读取出来,内容读出后包含了隐含的\r\n\r\n等

最后fclose()关闭句柄 

关键的步骤是过滤内容 trim(stristr($responseText,"\r\n\r\n"),"\r\n");将服务器等信息全部过滤掉;
分享到:
评论

相关推荐

    PHP 文件操作函数

    `file_exists()`检查文件或目录是否存在,`is_file()`和`is_dir()`判断是文件还是目录。`filesize()`返回文件大小,`fileperms()`获取文件权限。使用`chmod()`可以改变文件或目录的权限。 5. **文件上传** PHP的`...

    第三节 SSRF利用 - 内网资源访问-01

    下面是一个使用fsockopen函数实现获取用户制定url的数据的示例代码: ```php function GetFile($host,$port,$link) { $fp = fsockopen($host, intval($port), $errno, $errstr, 30); if (!$fp) { echo "$errstr...

    第二节 标签属性中的XSS-01

    fsockopen函数可以使用socket跟服务器建立TCP连接,传输原始数据。这个函数也可能引起SSRF漏洞。例如,以下代码使用fsockopen函数获取用户指定的URL的数据(文件或者HTML): function GetFile($host,$port,$link)...

    利用PHP fsockopen 模拟POST/GET传送数据的方法

    下面详细说明如何使用fsockopen函数来完成这一任务。 首先,要理解fsockopen函数是PHP中用于打开网络连接的函数,能够向指定的服务器地址发起socket连接。这个函数的基本语法为:`resource fsockopen ( string $...

    PHP函数库查询辞典

    9. **其他常用函数**:`isset()`检查变量是否已设置并非NULL,`empty()`检查变量是否为空,`is_array()`判断是否为数组,`json_encode()`和`json_decode()`处理JSON数据。 通过《PHP函数库查询辞典》,开发者可以...

    公司面试题之-腾讯PHP工程师笔试题.doc

    魔术方法可以分为以下几类:__sleep、__wakeup、__toString、__set_state、__construct、__destruct、__call、__get、__set、__isset、__unset。这些方法可以在特定的情况下自动被调用,例如在对象被 serialize 时...

    PHP函数手册

    此外,`isset()`和`unset()`分别用于检测变量是否已设置并赋值,以及删除变量。 2. 字符串操作:PHP提供了诸如`strlen()`用于获取字符串长度,`str_replace()`进行字符串替换,`strpos()`查找子串在字符串中的位置...

    php函数参考手册.rar

    `isset()`检查变量是否已设置并非NULL,`unset()`则用于解除变量绑定。 2. **字符串处理**: `strlen()`计算字符串长度,`strpos()`查找子字符串首次出现的位置,`str_replace()`进行字符串替换,`explode()`和`...

    不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题

    所以就怀疑是否编码问题,或者文件权限问题,或者是不是函数不支持问题,经过排查发现原来是万网的L1主机不支持fsockopen,在文件uc_client/client.php中的uc_fopen中出现了问题,这里的代码是这样: ...isset($matches

    PHP笔试面试题.doc

    if (isset($_POST['action']) && $_POST['action'] == 'submitted') { $email = $_POST['email']; if (!preg_match("/^(?:w+.?)*w+@(?:w+.?)*w+$/", $email)) { echo "电子邮件检测失败"; } } ``` 本文档涵盖了...

    php中fsockopen用法实例

    在PHP编程中,`fsockopen` 是一个用于创建网络套接字连接的函数,它允许程序员通过TCP或UDP协议直接与其他服务器进行通信。本文将深入讲解 `fsockopen` 的用法及其在不同场景下的应用。 首先,我们来看一个基本的 `...

    php调用远程url的六种方法,php函数

    isset($URL_Info["port"])) $URL_Info["port"] = 80; // 构建POST请求 $request = "POST " . $URL_Info["path"] . " HTTP/1.1\r\n"; $request .= "Host: " . $URL_Info["host"] . "\r\n"; $request .= "Content-...

    php 模拟get_headers函数的代码示例

    (isset($url['path']) ? $url['path'] : '/') . " HTTP/1.1\r\n"; $out.= "Host: " . $url['host'] . "\r\n"; $out.= "Connection: Close\r\n\r\n"; $var = ''; fwrite($fp, $out); while(!feof($fp)){ $var....

    php中HTTP_REFERER函数用法实例

    在上述代码中,使用`isset`函数检查`$_SERVER['HTTP_REFERER']`是否已设置。如果用户是通过点击链接的方式到达当前页面的,那么会显示用户来自的URL。如果用户是直接输入URL,或者Referer头信息没有被浏览器发送,...

    免费回拨电话系统制作教程.docx

    - **数据验证**:`if(isset($_POST['callphone'])&&is_numeric($_POST['callphone']))`确保接收到的电话号码是数字格式,防止无效输入。 3. **回拨功能实现**: - **通话逻辑**:在PHP中,`call()`, `call2()`, `...

    PHP编程实现脚本异步执行的方法

    $port = isset($url_array['port']) ? $url_array['port'] : 80; // 设置请求路径和方法 $requestPath = $url_array['path'] . "?{$url_array['query']}"; $method = !empty($post_data) ? "POST" : "GET"; /...

    php面试大全

    - **函数简介**:`fsockopen()`用于创建与指定主机的一个连接,并返回一个文件指针资源,可以通过该资源读取或写入数据。 - **基本语法**: ```php $fp = fsockopen($host, $port, $errno, $errstr, $timeout); `...

    php笔试题汇总(超级精华的试题)

    if (isset($_POST['action']) && $_POST['action'] == 'submitted') { $email = $_POST['email']; if (!preg_match("/^[\w\.-]+@[\w\.-]+\.\w+$/", $email)) { echo "电子邮件检测失败"; } } ``` 这些知识点...

    php采集(php小偷)程序设计教程

    isset($url['query'])) $url['query'] = ""; $fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80); if (!$fp) return "连接失败:" . $url['host']; fputs($fp, sprintf("%s %s%s HTTP/1.0\n", $...

Global site tag (gtag.js) - Google Analytics