diff --git a/apps/files/ajax/newfile.php b/apps/files/ajax/newfile.php
index 316eac0562d867eef695ceed954547f41cbfbb78..edb784148724e64ec0c877617f4479fc99477744 100644
--- a/apps/files/ajax/newfile.php
+++ b/apps/files/ajax/newfile.php
@@ -15,6 +15,10 @@ if($filename == '') {
 	OCP\JSON::error(array("data" => array( "message" => "Empty Filename" )));
 	exit();
 }
+if(strpos($filename,'/')!==false){
+	OCP\JSON::error(array("data" => array( "message" => "Invalid Filename" )));
+	exit();
+}
 
 if($source){
 	if(substr($source,0,8)!='https://' and substr($source,0,7)!='http://'){
diff --git a/apps/files/ajax/newfolder.php b/apps/files/ajax/newfolder.php
index 512e0e1f6d99696dcbe288dfac2bc787ce87d48e..0668a6191f4da50be543ef91f3a5024ccb83229f 100644
--- a/apps/files/ajax/newfolder.php
+++ b/apps/files/ajax/newfolder.php
@@ -13,6 +13,10 @@ if(trim($foldername) == '') {
 	OCP\JSON::error(array("data" => array( "message" => "Empty Foldername" )));
 	exit();
 }
+if(strpos($filename,'/')!==false){
+	OCP\JSON::error(array("data" => array( "message" => "Invalid Foldername" )));
+	exit();
+}
 
 if(OC_Files::newFile($dir, stripslashes($foldername), 'dir')) {
 	OCP\JSON::success(array("data" => array()));
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 40d5be2214a01d52c809a6605ec9df47b0f10986..db29b22275ca43fa738c22aeba138b686fce199e 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -448,6 +448,11 @@ $(document).ready(function() {
 		input.focus();
 		input.change(function(){
 			var name=$(this).val();
+			if(name.indexOf('/')!=-1){
+				$('#notification').text(t('files','Invalid name, \'/\' is not allowed.'));
+				$('#notification').fadeIn();
+				return;
+			}
 			switch(type){
 				case 'file':
 					$.post(