Php 大写第一个字母并去除html代码
我有以下html页面: 我想做的是将第一个字母大写(这是没有任何问题的),并去除文本框中的任何html代码或任何组合为““>”的代码,这样用户就不能插入恶意代码在服务器端执行 我发现了一个代码,其中包含:Php 大写第一个字母并去除html代码,php,javascript,Php,Javascript,我有以下html页面: 我想做的是将第一个字母大写(这是没有任何问题的),并去除文本框中的任何html代码或任何组合为““>”的代码,这样用户就不能插入恶意代码在服务器端执行 我发现了一个代码,其中包含: var StrippedString = OriginalString.replace(/(<([^>]+)>)/ig,""); var StrippedString=OriginalString.replace(/(]+)>)/ig,”; 如何将上面的代码添加到下面的页
var StrippedString = OriginalString.replace(/(<([^>]+)>)/ig,"");
var StrippedString=OriginalString.replace(/(]+)>)/ig,”;
如何将上面的代码添加到下面的页面,使其同时处理这两个问题
<?php
/**
* ****************************************************************************
* Micro Protector
*
* Version: 1.0
* Release date: 2007-09-10
*
* USAGE:
* Define your requested password below and inset the following code
* at the beginning of your page:
* <?php require_once("microProtector.php"); ?>
*
*
*
******************************************************************************/
$Password = 'TESTPASS'; // Set your password here
/******************************************************************************/
if (isset($_POST['submit_pwd'])){
$pass = isset($_POST['passwd']) ? $_POST['passwd'] : '';
if ($pass != $Password) {
showForm("Wrong password");
exit();
}
} else {
showForm();
exit();
}
function showForm($error="LOGIN"){
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<title>IMC - Authentication</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
<Script>
<!--
function capitalize(form) {
value = form.value;
newValue = '';
value = value.split(' ');
for(var i = 0; i < value.length; i++) {
newValue += value[i].substring(0,1).toUpperCase() +
value[i].substring(1,value[i].length) + '';
}
form.value = newValue;
}
-->
</Script>
</head>
<body>
<center><a href="http://www.test.com"><img src="test.png" border=0 /></a></center>
<br><br><br>
<div id="main">
<div class="caption"><?php echo $error; ?></div>
<div id="icon"> </div>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="pwd">
Your Name:
<table>
<tr><td><input class="text" name="name" onBlur="capitalize(this);" maxlength=12 type="text" /></td></tr>
</table>
Password:
<table>
<tr><td><input class="text" name="passwd" maxlength=8 type="password" /></td></tr>
<tr><td align="center"><br/>
<input class="text" type="submit" name="submit_pwd" value="Login" />
</td></tr>
</table>
</form>
</div>
</body>
</html>
<?php
}
?>
*
*
*
******************************************************************************/
$Password='TESTPASS';//在此处设置密码
/******************************************************************************/
如果(isset($_POST['submit_pwd'])){
$pass=isset($_POST['passwd'])?$_POST['passwd']:'';
如果($pass!=$Password){
showForm(“错误密码”);
退出();
}
}否则{
showForm();
退出();
}
函数showForm($error=“LOGIN”){
?>
IMC-认证
添加newValue=newValue.replace(/(]+)>)/ig,”;
在form.value=newValue;
我希望你意识到任何恶意用户都可以完全绕过你的函数。我所要做的就是把大写=function(){}
在我的控制台中,突然间我可以编写我想要的…或者我可以禁用JavaScript。无论哪种方式,我都可以向您的服务器发送我喜欢的任何内容
在服务器端,您应该使用类似PHP的函数来防止HTML被注入到用户的浏览器中,当您使用它时,您可以使用它来大写第一个字母(或每个单词的第一个字母).仅大写第一个字母或每个单词的第一个字母?这是一个名称,因此我仅大写第一个字母。我在代码中没有看到任何jQuery,是否可能选择的标记不正确?OriginalString只是一个示例变量。我是否应该将其替换为NewValue?我添加了,它只大写,但不删除"它不会删除一个角括号。它会删除整个标签。我知道你的意思。这很好。谢谢!现在只有我能安全地将数据发送到服务器。有什么想法吗?如果你能看一下,我会更新我的问题。谢谢。我会发布页面,因此你可以根据我拥有的内容进行推荐。它不会向服务器发送任何内容。但请让我更新内容并通知我。谢谢
…它会将数据发送到服务器。