PHP验证和检查
今天,我们要检讨的web应用程序的开发过程中的一个非常重要的一部分。用户输入的验证。这是一个任何应用程序中最棘手的部分。这是为什么?由于开发商无法控制它。你可以写在世界上最好的算法,但仍然如果它包含用户输入的是有失误的地方。即使我们把一些coplicated的逻辑,以防止错误的符号的输入,检查数据的一致性,并尽一切可能以确保它是一切OK,仍然是有可能,用户输入了错误号码。虽然都表示,我们必须尽量避免人为错误的和做到这一点的最好办法是使用正则表达式。 Basicly正则表达式用于字符串匹配。它们都是基于搜索和模式匹配的文本字符串。了大量的书籍,他们写的,甚至还有一些编程语言设计,尤其是正则表达式。但今天我们只是要在正则表达式可以帮助我们与用户输入的简单介绍一下。首先,我建议你熟悉的语言的一些基本概念。完全解释它的语法在PHP手册-
>模式语法 现在,让我们的工作。我将介绍一些最常见的问题与用户输入的。我敢肯定,你见过他们大多数如果不是全部。我们要创建所需的输入域的登记表格。他们是如下: -姓名 -地址 -护照 -电子邮件 -电话 -邮编 -日期 -用户名 -密码 这里是测试表(下载), 我们必须定义一些变量,我们将使用PHP验证的例子,将持有我们错误消息。他们的价值观,我们刷新页面每次被清除。
$errName
=
""
;
$errAddress
=
""
;
$errEmail
=
""
;
$errPassport
=
""
;
$errPhone
=
""
;
$errZip
=
""
;
$errDate
=
""
;
$errUser
=
""
;
$errPass
=
""
;<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">在PHP中使用正则表达式的方法有两种。</span><span style="font-family:Verdana,Arial,sans-serif">一个是真正的PHP风格,在这种情况下,我们必须使用ereg()函数,另一种是使用Perl风格的语法,我们验证。</span><span style="font-family:Verdana,Arial,sans-serif">在这种情况下,我们必须使用preg_match()函数。</span><span style="font-family:Verdana,Arial,sans-serif">在本教程中,我们将使用preg_match(),因为它是在大多数情况下,更快,同时还支持最常见的正则表达式语法。</span><span style="font-family:Verdana,Arial,sans-serif">它还为我们提供了更多的功能,我们可以使用。</span><span style="font-family:Verdana,Arial,sans-serif"> 我们将开始与用户名的验证。</span><span style="font-family:Verdana,Arial,sans-serif">我们将只允许字母,空格和破折号。</span><span style="font-family:Verdana,Arial,sans-serif">因此,我们创建我们的regexp(正则表达式)。</span><span style="font-family:Verdana,Arial,sans-serif">我们将尽一类为我们的可能值。</span><span style="font-family:Verdana,Arial,sans-serif">类的创建时我们括在parences中的一些符号。</span><span style="font-family:Verdana,Arial,sans-serif">这是我们的类:</span><span style="font-family:Verdana,Arial,sans-serif"> [A-ZA-Z的-我们的类包含所有字母AZ(全部小写字母),字母(大写字母),空间和破折号之间,</span><span style="font-family:Verdana,Arial,sans-serif"> 现在我们要设置这个类申请每一个字符,我们进入。</span><span style="font-family:Verdana,Arial,sans-serif">因此,我们添加了一个(+),再加上签署后,我们的类定义。</span><span style="font-family:Verdana,Arial,sans-serif">我们仍然缺少的东西。</span><span style="font-family:Verdana,Arial,sans-serif">我们还没有定义我们的验证测试的范围。</span><span style="font-family:Verdana,Arial,sans-serif">我们要设置文本的一部分,我们正在验证。</span><span style="font-family:Verdana,Arial,sans-serif">如果我们不这样做,如果发现在我们进入,这是我们没有使用的字符,甚至一场比赛,将满足我们的正则表达式。</span><span style="font-family:Verdana,Arial,sans-serif">我们如何做到这一点?</span><span style="font-family:Verdana,Arial,sans-serif">我们把我们之间/
^ $ /开始和结束字符的字符串。</span><span style="font-family:Verdana,Arial,sans-serif">“^”是指该行的开始和“$”是指它的结束。</span><span style="font-family:Verdana,Arial,sans-serif">我们准备建立我们的regexp。</span><span style="font-family:Verdana,Arial,sans-serif"> / ^ [A-ZA-Z的- ] + $ /斜线preg_match用来定义我们的正则表达式的开始和结束,</span><span style="font-family:Verdana,Arial,sans-serif"> 现在我们已完成,我们呢?</span><span style="font-family:Verdana,Arial,sans-serif">有刚做的一件事。</span><span style="font-family:Verdana,Arial,sans-serif">我们定义我们班的方式,允许用户输入名称begining破折号。</span><span style="font-family:Verdana,Arial,sans-serif">这是我们要防止的东西。</span><span style="font-family:Verdana,Arial,sans-serif">因此,我们必须添加一些我们的regexp,所以将不允许</span><span style="font-family:Verdana,Arial,sans-serif"> 排序,我们定义为一类新的用户名的首字母。</span><span style="font-family:Verdana,Arial,sans-serif">它可以只包含大写字母。</span><span style="font-family:Verdana,Arial,sans-serif"> 现在我们结合我们所做的工作,到目前为止,得到最终结果。</span><span style="font-family:Verdana,Arial,sans-serif">如果没有匹配的preg_match()返回0。</span><span style="font-family:Verdana,Arial,sans-serif">在这种情况下,我们要设置我们的错误变量,这样我们就可以显示一些有意义的信息给用户</span><span style="font-family:Verdana,Arial,sans-serif"> /
^ [AZ] [A-ZA-Z的- ] + $ /</span>
//www.heatpress123.net
// Full Name must contain letters, dashes and spaces only and must start with upper case letter.
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^[A-Z][a-zA-Z
-]+$/"
,
$_POST
[
"name"
]) === 0)
<span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errName
=
'<p class="errText">Name must be from letters, dashes, spaces and must not start with dash</p>'
;<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">让我们前进到下valitaion领域,这将是该地址。</span><span style="font-family:Verdana,Arial,sans-serif">这里不多做,因为它可以包含大量的符号。</span><span style="font-family:Verdana,Arial,sans-serif">我们只需要定义一个类持有它们。</span><span style="font-family:Verdana,Arial,sans-serif"> /
^ [A-ZA-Z0-9,_:“'] + $ / </span><span style="font-family:Verdana,Arial,sans-serif">翻译本的regexp:不要灰心丧气,从一开始到地址字符串结束检查如果我们的性格是以下AZ,包括AZ,0-9,空格,下划线,破折号,点,逗号,分号,双和事务所报价。您可以添加任何字符,你认为可能是一个地址的一部分。的东西这里要注意的是,当我们有引号的话,我们必须把他们面前的一个转义字符。</span>
// Address must be word characters only
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^[a-zA-Z0-9
_-.,:"
']+$/
", $_POST["
address"]) === 0)
<span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errAddress
=
'<p class="errText">Address must be only letters, numbers or one of the following _ - . , : " '</p>
';<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">我们的下一个任务是创建一个正则表达式验证电子邮件。</span><span style="font-family:Verdana,Arial,sans-serif">我们在这里要包括未来的另一表达,这是预定义类的CONSTANS,represend。</span><span style="font-family:Verdana,Arial,sans-serif">这里的人的名单,我们将使用:</span><span style="font-family:Verdana,Arial,sans-serif"> W
= [0-9A-ZA-Z_]类,包括数字,字母和下划线。</span><span style="font-family:Verdana,Arial,sans-serif"> D = [0-9]类只包括数字</span><span style="font-family:Verdana,Arial,sans-serif"> 这些常量节省大量的输入和使源代码更容易阅读和理解。</span><span style="font-family:Verdana,Arial,sans-serif">什么是电子邮件的面具?</span><span style="font-family:Verdana,Arial,sans-serif">第一部分的用户名可以包含字母,数字,点和下划线字符。</span><span style="font-family:Verdana,Arial,sans-serif">它以字母开始,如果我们有点,它必须由字母后跟。</span><span style="font-family:Verdana,Arial,sans-serif">然后,它必须遵循的@符号和再次的第一部分。</span><span style="font-family:Verdana,Arial,sans-serif">在最后,我们必须有2至4个字母的一个点。</span><span style="font-family:Verdana,Arial,sans-serif">每当我们有在regexp的特殊含义的字符,我们要使用它作为字符,我们必须以反斜杠转义。</span>
// Email mask
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^[a-zA-Z]w+(.w+)*@w+(.[0-9a-zA-Z]+)*.[a-zA-Z]{2,4}$/"
,
$_POST
[
"email"
])
=== 0)
<span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errEmail
=
'<p class="errText">Email must comply with this mask: chars(.chars)@chars(.chars).chars(2-4)</p>'
;<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">验证字符串是护照。</span><span style="font-family:Verdana,Arial,sans-serif">它只能包含数字,是10位或12位数字。</span><span style="font-family:Verdana,Arial,sans-serif">但是,我们如何设置我们要多少个字符。</span><span style="font-family:Verdana,Arial,sans-serif">我们把所需数量的characteras
parences {}和正则表达式看起来像这样/ ^ D {10} $ / / ^ D {12} /美元。</span><span style="font-family:Verdana,Arial,sans-serif">我们如何结合这两个词语,让我们使用一个或其他。</span><span style="font-family:Verdana,Arial,sans-serif">我们使用。</span><span style="font-family:Verdana,Arial,sans-serif">它的标志是“|”。</span><span style="font-family:Verdana,Arial,sans-serif">我们的声明是完整/
^ D {10} $ | ^ D {12} $ /。</span>
// Passport must be only digits
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^d{10}$|^d{12}$/"
,
$_POST
[
"passport"
])
=== 0)
<span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errPassport
=
'<p class="errText">Passport must be 10 or 12 digits</p>'
;<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">我将提出一个电话面具。</span><span style="font-family:Verdana,Arial,sans-serif">它可以是一个很大的不同,但它是笑着的,不够可以很容易地定制。</span><span style="font-family:Verdana,Arial,sans-serif">你只定义在每一个电话号码的一部分的diggits数量和选择分隔符。</span><span style="font-family:Verdana,Arial,sans-serif">它可以是任何你想要的符号。</span><span style="font-family:Verdana,Arial,sans-serif">邮编也是很容易实现。</span>
// Phone mask 1-800-999-9999
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^d{1}-d{3}-d{3}-d{4}$/"
,
$_POST
[
"phone"
])
=== 0)
<span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errPhone
=
'<p class="errText">Phone must comply with this mask: 1-333-333-4444</p>'
;
// Zip must be 4 digits
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^d{4}$/"
,
$_POST
[
"zip"
])
=== 0)
<span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errZip
=
'<p class="errText">Zip must be 4 digits</p>'
;<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">现在,我们会日期掩码。</span><span style="font-family:Verdana,Arial,sans-serif">它看起来像这样:YYYY-MM-DD的。</span><span style="font-family:Verdana,Arial,sans-serif">我们的日期将被只能由diggits。</span><span style="font-family:Verdana,Arial,sans-serif">现在你已经如何设置一年的长度,但月份和日期可以是1和2之间的长度diggits。</span><span style="font-family:Verdana,Arial,sans-serif">我们设置两个值由逗号分隔{1,2}。</span><span style="font-family:Verdana,Arial,sans-serif">这意味着,在此区间的所有数字都是有效的价值。</span>
// Date mask YYYY-MM-DD
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/"
,
$_POST
[
"date"
])
=== 0)
<font style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errDate
=
'<p class="errText">Date must comply with this mask: YYYY-MM-DD</p>'
;<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">过去的事情,在我们的注册检查 - 验证的形式是我们的用户的用户名和密码。</span><span style="font-family:Verdana,Arial,sans-serif">用户名可以是任何字符串,包括字母,diggits和uderscore字符(“W”预定义类)。</span><span style="font-family:Verdana,Arial,sans-serif">我们想要的用户名至少5个字符长。</span><span style="font-family:Verdana,Arial,sans-serif">这是由这个声明{5}
accomplised。</span><span style="font-family:Verdana,Arial,sans-serif">逗号后的遗漏值意味着它可以是任何值相等或更大,5。</span>
// User must be digits and letters
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^[0-9a-zA-Z_]{5,}$/"
,
$_POST
[
"user"
])
=== 0)
<font style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><font style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errUser
=
'<p class="errText">User must be bigger that 5 chars and contain only digits, letters and underscore</p>'
;<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">一个好的密码是最难的事来检查。</span><span style="font-family:Verdana,Arial,sans-serif">要通过验证测试,它必须包含至少一个小写字母,大写字母和一个数字。</span><span style="font-family:Verdana,Arial,sans-serif">这将使它难以打破。</span><span style="font-family:Verdana,Arial,sans-serif">一个是要知道在我们开始之前
- 点代表任意字符。</span><span style="font-family:Verdana,Arial,sans-serif">我们的目的,我们必须做出一些团体代表密码。</span><span style="font-family:Verdana,Arial,sans-serif">它们被定义使用的parences的()。</span><span style="font-family:Verdana,Arial,sans-serif">每个组将检查的特定条件。</span><span style="font-family:Verdana,Arial,sans-serif">第一个将检查我们的字符串的长度。</span><span style="font-family:Verdana,Arial,sans-serif">它必须等于或大于8大。</span><span style="font-family:Verdana,Arial,sans-serif">?=被称为正定性超前。</span><span style="font-family:Verdana,Arial,sans-serif">一个正lookahead说:“下一个文本必须是这样的,并遵循这些规则。” </span><span style="font-family:Verdana,Arial,sans-serif">所以,当我们采取“一个文本”必须“的类型。{8}”。</span><span style="font-family:Verdana,Arial,sans-serif">我们宣布我们的第一个正则表达式条件(?=
{8})。</span><span style="font-family:Verdana,Arial,sans-serif">它指出,我们的字符串必须是同等或更大,8,可以包含任何字符。</span><span style="font-family:Verdana,Arial,sans-serif">第二条规则,我们要申请密码至少包含一个diggit。</span><span style="font-family:Verdana,Arial,sans-serif">我们再次把我们的字符串和检查对我们的条件(=
* [0-9])。</span><span style="font-family:Verdana,Arial,sans-serif">同样,我们做的其他条件。</span><span style="font-family:Verdana,Arial,sans-serif">一个是小写字母,大写字母和其他(= * [AZ])(= *排序)。</span><span style="font-family:Verdana,Arial,sans-serif">这是我们的密码的最低要求。</span><span style="font-family:Verdana,Arial,sans-serif">用户可能需要更强大的密码。</span><span style="font-family:Verdana,Arial,sans-serif">所以我们加上“*”begining和密码。</span><span style="font-family:Verdana,Arial,sans-serif">这意味着,任何可以插入从0到多。</span>
// Password must be strong
<span style="font-family:Verdana,Arial,sans-serif"><code class="php keyword">if
(preg_match(
"/^.*(?=.{8,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).*$/"
,
$_POST
[
"pass"
])
=== 0)
<font style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><font style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><font style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php plain"><span style="font-family:Verdana,Arial,sans-serif"><code class="php variable">$errPass
=
'<p class="errText">Password must be at least 8 characters and must contain at least one lower case letter, one upper case letter and one digit</p>'
;<br>
<br>
<span style="font-family:Verdana,Arial,sans-serif">就这样结束了我们的教程。</span><span style="font-family:Verdana,Arial,sans-serif">你看到一个强大的工具定期experessions和它们如何能够帮助我们的形式输入验证。</span><span style="font-family:Verdana,Arial,sans-serif">他们的方式较复杂,你在这里看到,但知道至少基础是必不可少的。</span><span style="font-family:Verdana,Arial,sans-serif">因此,那些沉重的书籍,并开始阅读。</span><span style="font-family:Verdana,Arial,sans-serif">我希望这些例子可以帮助你的工作。</span>
站长行业门户(www.software8.co)文章,希望大家可以留言建议

“你的组织要求你更改PIN消息”将显示在登录屏幕上。当在使用基于组织的帐户设置的电脑上达到PIN过期限制时,就会发生这种情况,在该电脑上,他们可以控制个人设备。但是,如果您使用个人帐户设置了Windows,则理想情况下不应显示错误消息。虽然情况并非总是如此。大多数遇到错误的用户使用个人帐户报告。为什么我的组织要求我在Windows11上更改我的PIN?可能是您的帐户与组织相关联,您的主要方法应该是验证这一点。联系域管理员会有所帮助!此外,配置错误的本地策略设置或不正确的注册表项也可能导致错误。即

Windows11将清新优雅的设计带到了最前沿;现代界面允许您个性化和更改最精细的细节,例如窗口边框。在本指南中,我们将讨论分步说明,以帮助您在Windows操作系统中创建反映您的风格的环境。如何更改窗口边框设置?按+打开“设置”应用。WindowsI转到个性化,然后单击颜色设置。颜色更改窗口边框设置窗口11“宽度=”643“高度=”500“>找到在标题栏和窗口边框上显示强调色选项,然后切换它旁边的开关。若要在“开始”菜单和任务栏上显示主题色,请打开“在开始”菜单和任务栏上显示主题

默认情况下,Windows11上的标题栏颜色取决于您选择的深色/浅色主题。但是,您可以将其更改为所需的任何颜色。在本指南中,我们将讨论三种方法的分步说明,以更改它并个性化您的桌面体验,使其具有视觉吸引力。是否可以更改活动和非活动窗口的标题栏颜色?是的,您可以使用“设置”应用更改活动窗口的标题栏颜色,也可以使用注册表编辑器更改非活动窗口的标题栏颜色。若要了解这些步骤,请转到下一部分。如何在Windows11中更改标题栏的颜色?1.使用“设置”应用按+打开设置窗口。WindowsI前往“个性化”,然

您是否在Windows安装程序页面上看到“出现问题”以及“OOBELANGUAGE”语句?Windows的安装有时会因此类错误而停止。OOBE表示开箱即用的体验。正如错误提示所表示的那样,这是与OOBE语言选择相关的问题。没有什么可担心的,你可以通过OOBE屏幕本身的漂亮注册表编辑来解决这个问题。快速修复–1.单击OOBE应用底部的“重试”按钮。这将继续进行该过程,而不会再打嗝。2.使用电源按钮强制关闭系统。系统重新启动后,OOBE应继续。3.断开系统与互联网的连接。在脱机模式下完成OOBE的所

任务栏缩略图可能很有趣,但它们也可能分散注意力或烦人。考虑到您将鼠标悬停在该区域的频率,您可能无意中关闭了重要窗口几次。另一个缺点是它使用更多的系统资源,因此,如果您一直在寻找一种提高资源效率的方法,我们将向您展示如何禁用它。不过,如果您的硬件规格可以处理它并且您喜欢预览版,则可以启用它。如何在Windows11中启用任务栏缩略图预览?1.使用“设置”应用点击键并单击设置。Windows单击系统,然后选择关于。点击高级系统设置。导航到“高级”选项卡,然后选择“性能”下的“设置”。在“视觉效果”选

在Windows11上的显示缩放方面,我们都有不同的偏好。有些人喜欢大图标,有些人喜欢小图标。但是,我们都同意拥有正确的缩放比例很重要。字体缩放不良或图像过度缩放可能是工作时真正的生产力杀手,因此您需要知道如何对其进行自定义以充分利用系统功能。自定义缩放的优点:对于难以阅读屏幕上的文本的人来说,这是一个有用的功能。它可以帮助您一次在屏幕上查看更多内容。您可以创建仅适用于某些监视器和应用程序的自定义扩展配置文件。可以帮助提高低端硬件的性能。它使您可以更好地控制屏幕上的内容。如何在Windows11

屏幕亮度是使用现代计算设备不可或缺的一部分,尤其是当您长时间注视屏幕时。它可以帮助您减轻眼睛疲劳,提高易读性,并轻松有效地查看内容。但是,根据您的设置,有时很难管理亮度,尤其是在具有新UI更改的Windows11上。如果您在调整亮度时遇到问题,以下是在Windows11上管理亮度的所有方法。如何在Windows11上更改亮度[10种方式解释]单显示器用户可以使用以下方法在Windows11上调整亮度。这包括使用单个显示器的台式机系统以及笔记本电脑。让我们开始吧。方法1:使用操作中心操作中心是访问

在iOS17中,Apple为其移动操作系统引入了几项新的隐私和安全功能,其中之一是能够要求对Safari中的隐私浏览选项卡进行二次身份验证。以下是它的工作原理以及如何将其关闭。在运行iOS17或iPadOS17的iPhone或iPad上,如果您在Safari浏览器中打开了任何“无痕浏览”标签页,然后退出会话或App,Apple的浏览器现在需要面容ID/触控ID认证或密码才能再次访问它们。换句话说,如果有人在解锁您的iPhone或iPad时拿到了它,他们仍然无法在不知道您的密码的情况下查看您的隐私


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載
最受歡迎的的開源編輯器

Dreamweaver Mac版
視覺化網頁開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。