标签: htmlspecialchars

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

$ _GET上的foreach循环是应用htmlspecialchars的好方法吗?

我想知道使用以下代码是否存在重大缺点:

if(isset($_GET)){
foreach($_GET as $v){
    $v = htmlspecialchars($v);
}
}
Run Code Online (Sandbox Code Playgroud)

我意识到可能没有必要在每个变量上使用htmlspecialchars.任何人都知道这是好事吗?

更新:

因为我不认为上面的代码会起作用,所以我用我正在使用的代码更新它(尽管对建议有消极性).:)

if(isset($_GET)){
foreach($_GET as $k=>$v){
    $_GET[$k] = htmlspecialchars($v);
}
}
Run Code Online (Sandbox Code Playgroud)

php foreach htmlspecialchars

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

在mysql数据库中安全地保存和显示HTML和特殊字符?

标题基本上总结了它.我建了一个小博客,但我甚至无法在我的文章中发布链接!我能做什么?我试过htmlentities(),htmlspecialchars(),real_escape_string()基本上逃避各种形式存在.我使用PHP 5.3和MySQL 5.1

这是我将博客保存到db的代码:

function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlentities($data);
if ($problem && strlen($data) == 0)
{
    die($problem);
}
    return $data;
}

if(isset($_POST['addBlog'])) { //form submitted?

// get form values, escape them and apply the check_input function
$title = $link->real_escape_string($_POST['title']);
$category = $link->real_escape_string(check_input($_POST['category'], "You must choose a category."));
$content = $link->real_escape_string(check_input($_POST['blogContent'], "You can't publish a blog with no blog... dumbass."));
$date = $link->real_escape_string(check_input($_POST['pub_date'], "What day is it …
Run Code Online (Sandbox Code Playgroud)

php mysqli html-entities htmlspecialchars

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

如何阻止HTMLpurifier在markdown中转义PHP简写语法示例?

我正在使用markdown和HTMLpurifier,我希望<?= $variable ?>在markdown代码中使用简写PHP()的示例(使用缩进语法),但HTMLpurifier不会将标记识别<为允许元素并且正在转义它.

知道我需要在HTMLpurifier中启用什么配置选项来阻止它逃避这个吗?

php markdown htmlpurifier htmlspecialchars

0
推荐指数
1
解决办法
359
查看次数

用HTML实体替换的字符重新出现

我很难做一个简单的事情str_replace.
我试图从字符串中删除所有逗号,这确实有效.但是当我再次尝试改变字符串时,逗号再次以某种方式重新出现.我重构了我的代码以确保我没有引起这个.

无论如何这里是我的代码.任何人都可以发现一个错误吗?

 $delim=remDelim(fgets($fo));
#       echo 'before : '.htmlspecialchars($delim);
    $delime =str_replace(",","&#44;",$delim);
    echo 'after : '.htmlspecialchars($delime);
    $delimed = str_replace("<","",$delime);
    echo $delimed.'<br />';

 example output: 
   Jose, jr to Jose&#44; jr  to  Jose, jr
Run Code Online (Sandbox Code Playgroud)

它就像我的字符串不知何故未被转换.我会说,我很可能把名字混淆了,并用第一个字符串来制作最后一个.但唉,我可以看到情况并非如此.

php htmlspecialchars str-replace

0
推荐指数
1
解决办法
528
查看次数

用空间mysql php连接字符串

$menunaam = "Lazy Dog" 
$resultmenus = mysqli_query($dbc,"SELECT menunaam FROM prijslijst WHERE menunaam='$menunaam'");
$row = mysqli_fetch_array($resultmenus,MYSQLI_ASSOC);
echo "<input type=\"hidden\" class=\"mnu\" name=\"mnnm\" value=".htmlspecialchars($row["menunaam"]).">";
Run Code Online (Sandbox Code Playgroud)

这输出

<input class="mnu" type="hidden" Dog="" value="Lazy" name="mnnm">
Run Code Online (Sandbox Code Playgroud)

然后当我像这样改变它工作正常(添加额外的单引号):

echo "<input type=\"hidden\" class=\"mnu\" name=\"mnnm\" value='".htmlspecialchars($row["menunaam"])."'>";
Run Code Online (Sandbox Code Playgroud)

然后我遇到了一个新问题.当我使用含有内容的变量时:$ menunaam ="lazy's"

<input class="mnu" type="hidden" s'="" value="lazy" name="mnnm">
Run Code Online (Sandbox Code Playgroud)

php sql concatenation htmlspecialchars

0
推荐指数
1
解决办法
1447
查看次数

htmlspecialchars + addslashes,有道理吗?

我正在尝试清理要保存在数据库中的字符串.我采取的第一步是使用addslashes(),但后来我意识到它没有解决许多安全问题,所以我补充说htmlspecialchars(),现在我有这行代码:

$val=htmlspecialchars(addslashes(trim($val)));
Run Code Online (Sandbox Code Playgroud)

但后来我想知道addslashes()在一个将被处理的字符串上使用是否有任何意义htmlspecialchars(),因为后者将"删除"任何会导致问题的元素,如果我没有弄错的话.

特别是,我想知道这是否使服务器工作两次而没有任何实际需要.

php security htmlspecialchars addslashes

0
推荐指数
1
解决办法
5738
查看次数

去除特殊字符编码

我有一个来自 XML 文件的字符串,该文件似乎已被编码htmlspecialchars()两次:

$data = "string&amp;#44;s example";
Run Code Online (Sandbox Code Playgroud)

我试过&amp;只用一个htmlspecialchars_decode()和号替换,然后调用,然后用单词“and”替换简单的和号,但输出像stringand#44; example. 我想知道是否有一种方法可以正确转换这些字符编码,或者是否可以使用正则表达式将它们完全去除(因为我可以简单地去除它们并将其用作稍后检查的值)?

php regex utf-8 htmlspecialchars

0
推荐指数
1
解决办法
2787
查看次数

Laravel htmlspecialchars()期望参数1是字符串,在我的项目中给定的对象?

所以我正在尝试编写一个简单的网站表单。但是它有这个htmlspecialchars错误。

我尝试制作{{$ message}},但没有成功。有相同的错误。

这是我的控制器:

<?php
namespace App\Http\Controllers;
use Mail;
use Illuminate\Http\Request;
class ContactMessageController extends Controller
{
public function create()
    {
        return view('form');
    }

public function store(Request $request)
{
    $this->validate($request, [
        'name' => 'required',
        'email' => 'required|email',
        'address' => 'required',
    ]);

    Mail::send('emails.contact-message', [
        'message' => $request->message
    ], function($mail) use($request) {
        $mail->from($request->email, $request->name);

        $mail->to('john@example.com')->subject('Contact message');
    });

        return redirect()->back()->with('flash_message', 'thanks');
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我的刀片

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Customer Details</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" media="screen" …
Run Code Online (Sandbox Code Playgroud)

php htmlspecialchars web laravel laravel-blade

0
推荐指数
1
解决办法
3206
查看次数

用另一个引号(')str_replace替换单引号(')

我试图'用另一个quote()替换单引号(),但我似乎无法得到任何工作.另外,如何在多个字符串上进行此操作($text, $title, $notice)

输入:不要

输出:不要

我在尝试这个:

$text = str_replace(array("'",'"'), array('’'), $text);    
$text = htmlentities(str_replace(array('"', "'"), '’', $text);
$text = htmlentities(str_replace(array('"', "'"), '’', $_POST['text']));
$text = str_replace("'" ,"&rsquo;",$text);
$text = str_replace("'" ,"’",$text);
$text = str_replace(array("'"), "&rsquo;", $text);
$text = str_replace(array("\'", "'", "&quot;"), "&rsquo;", htmlspecialchars($text));
$text = str_replace(array('\'', '"'), '’', $text);
$text = str_replace(chr(39), chr(146), $text);
$text  = str_replace("'", "&ampquot;", $text); 
Run Code Online (Sandbox Code Playgroud)

这些都不起作用.

php string replace htmlspecialchars str-replace

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