小编jbr*_*ahy的帖子

php - FILTER_SANITIZE_EMAIL毫无意义吗?

我只是创建一个注册表单,我只想将有效和安全的电子邮件插入数据库.

一些站点(包括w3schools)建议在运行FILTER_VALIDATE_EMAIL之前运行FILTER_SANITIZE_EMAIL是安全的; 但是,这可能会将提交的电子邮件从无效的电子邮件更改为有效的电子邮件,这可能不是用户想要的,例如:

用户的电子邮件地址为jeff!@gmail.com,但不小心插入了jeff"@ gmail.com.

FILTER_SANITIZE_EMAIL将删除"使FILTER_VALIDATE_EMAIL认为有效的电子邮件jeff@gmail.com有效,即使它不是用户的实际电子邮件地址.

为避免此问题,我计划仅运行FILTER_VALIDATE_EMAIL.(假设我不打算输出/处理任何声明无效的电子邮件)

这将告诉我电子邮件是否有效.如果是,那么应该没有必要通过FILTER_SANITIZE_EMAIL传递它,因为任何非法/不安全的字符,都会导致电子邮件返回无效,对吗?

我也不知道FILTER_VALIDATE_EMAIL批准的任何可用于注入/ xss的电子邮件,因为空格,括号()和分号会使电子邮件无效.还是我错了?

(注意:我将使用预备语句来插入除此之外的数据,我只想清除它)

php xss

24
推荐指数
3
解决办法
1万
查看次数

从MySQL中的IP范围中选择CIDR

我有一个IP范围表,我需要生成一个拒绝特定国家/地区的网络列表.

所以我可以用我的db生成一个ip范围列表.

SELECT 
       ip_from, 
       Inet_ntoa(ip_from), 
       ip_to, 
       Inet_ntoa(ip_to) 
FROM   
       ip_address_data 
WHERE  
       country_code = 'XX' 
LIMIT 1
Run Code Online (Sandbox Code Playgroud)

这会产生这个结果

ip_from     inet_ntoa(ip_from)  ip_to       inet_ntoa(ip_to)
16777472    1.0.1.0             16778239    1.0.3.255
Run Code Online (Sandbox Code Playgroud)

但是我需要CIDR格式的输出,有时范围会像这样返回多行.

1.0.1.0/24
1.0.2.0/23
Run Code Online (Sandbox Code Playgroud)

有没有办法使用select语句动态生成这些?这种语法很棒但是我假设它必须是一个存储过程,如果它将为每个输入行返回多个输出行.

SELECT  
    CONCAT('/sbin/route add -net ', CONVERT_TO_CIDR(ip_from,ip_to), ' reject;') AS command
FROM
    ip_info.ip_address_data
WHERE 
    country_code='XX'
Run Code Online (Sandbox Code Playgroud)

mysql ip

8
推荐指数
1
解决办法
211
查看次数

在 PhpStorm 中自动将短数组语法转换为长数组(传统)?

如何在 PhpStorm 中自动将短数组语法转换为长数组(传统)?

我使用了PhpStorm中的“代码->检查代码”功能,然后一键将短语法转换为长语法。

检查代码

首先检查代码

手动转换

手动转换

必须有一种方法来自动化这项工作吗?PHPStorm中有宏吗?

php phpstorm

6
推荐指数
2
解决办法
1977
查看次数

Unix错误消息"Killed"

我正在Unix平台上运行C++中的Hex游戏(目前正在运行c shell).我的游戏的AI需要不到一分钟的时间来决定它的移动(我使用的是一种蒙特卡罗算法),经过几个步骤,程序自行终止,只是打印"Killed"才返回我的命令提示符.有没有人理解导致这种情况发生的原因,并对如何更改我的代码进行修复提出任何建议?如果它有帮助,我没有使用我的系统.我使用SSH Secure Shell连接到学校的服务器.我还应该指出,我不认为我的算法有问题,因为它可以像我预期的那样工作直到崩溃,但它在决定第7步时一直崩溃.

c++ unix

5
推荐指数
1
解决办法
8717
查看次数

带有显式 TLS/SSL 的 PHP curl FTPes

我一直在尝试使用显式 TLS/SSL 服务器推送到远程 FTP,但连接一直超时。它正在连接,但我不知道它在哪里停止,但我假设它与 FTP/TLS/SSL 控制通道有关。任何帮助将不胜感激。

通过 FileZilla,我可以毫无问题地进行连接,但不能通过 curl 进行连接。我可能遗漏了一些东西,希望这里有人知道使用 curl 重新创建会话的最佳方法。这是 FileZilla 的调试输出和我一直在 PHP/curl 中处理的示例代码。这是 PHP 代码,下面是成功的 FileZilla 会话的副本。

这是版本,但我已经在不同的系统上尝试过,结果相同。

Curl: v7.43.0

??(08:04:00 on master ?)??> php -v                                          ??(Thu,Sep10)??
PHP 5.5.27 (cli) (built: Jul 14 2015 17:04:01)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
    with Xdebug v2.3.3, Copyright (c) 2002-2015, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)

这是实际的代码。

<?php

$server_data = array(
   'transfer_id' => 123456789,
   'post_url' => "ftps://ftps.widgetsltd.com",
   'port' => 21,
   'username' => 'widgetsftp',
   'password' => …
Run Code Online (Sandbox Code Playgroud)

php ftp ssl curl ftps

5
推荐指数
1
解决办法
6674
查看次数

php可以忽略ftp数据通道的建议IP并直接转到服务器吗?

我已经成功地从客户端下载了一段远程文件一段时间了,由于某种原因,他们的服务器现在正在返回私有IP.FileZilla非常聪明,可以使用服务器地址.

Status: Server sent passive reply with unroutable address. Using server address instead.
Run Code Online (Sandbox Code Playgroud)

我没有看到使用php的内置ftp代码执行此操作的方法.

    $conn_id = ftp_connect($ftp_server);
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

    ftp_pasv($conn_id, TRUE);

    if (ftp_get($conn_id, $downloaded_file, $server_file, FTP_BINARY)) {

        printf("Successfully downloaded %s\n", $downloaded_file);

    } else {
        printf("There was a problem downloading %s\n %s\n", 
              $server_file, 
              print_r(error_get_last(), TRUE)
        );
        exit(1);
    }

    ftp_close($conn_id);
Run Code Online (Sandbox Code Playgroud)

有没有办法让PHP忽略数据通道建议的IP并使用服务器的IP?

php ftp

3
推荐指数
1
解决办法
442
查看次数

标签 统计

php ×4

ftp ×2

c++ ×1

curl ×1

ftps ×1

ip ×1

mysql ×1

phpstorm ×1

ssl ×1

unix ×1

xss ×1